试图运行Tarjan算法的java实现

时间:2012-01-19 19:29:54

标签: java algorithm compiler-errors tarjans-algorithm

我正在尝试从wikipedia运行Tarjan java实现。我的最终目标是在特定点注入一些println,这将使我能够进一步了解代码。

到目前为止我做了什么

  • 我复制粘贴这3个源代码

a)Tarjan source code b)Edge source code c)Node source code Ĵ 在同一文件夹下的3个单独文件中。

  • 我能够运行一个helloworld示例(unfortunatley我的java背景几乎为零,上次我编写java用于作业,多年来agao)。

我面临的具体问题是什么 我得到3个错误:

Tarjan.java:9: error: cannot find symbol
  public ArrayList<ArrayList<Node>> executeTarjan(AdjacencyList graph){
                                                  ^
  symbol:   class AdjacencyList
  location: class Tarjan
Tarjan.java:28: error: cannot find symbol
   private ArrayList<ArrayList<Node>> tarjan(Node v, AdjacencyList list){
                                                     ^
  symbol:   class AdjacencyList
  location: class Tarjan
Tarjan.java:14: error: cannot find symbol
          List<Node> nodeList = new ArrayList<Node>(graph.getSourceNodeSet());
          ^
  symbol:   class List
  location: class Tarjan
3 errors

相应的行:9,28,14是

//line 9
 public ArrayList<ArrayList<Node>> executeTarjan(AdjacencyList graph){
 //line 28
List<Node> nodeList = new ArrayList<Node>(graph.getSourceNodeSet());
//line 14
private ArrayList<ArrayList<Node>> tarjan(Node v, AdjacencyList list){

其他说明 我没有把我得到的那种错误作为标题,因为我不知道这是一个实际的错误还是别的我做错了,也许我必须包含这些文件(比如php..don&#39) ;知道)。我发布这篇文章是为了让它运行起来很简单,因为代码已经存在了。

提前谢谢大家!

1 个答案:

答案 0 :(得分:4)

很可能是你缺少一些进口产品:

import java.util.List;

此外,您需要从here获取AdjacencyList的源代码 这应该可以解决您的编译问题,以后可能会遇到其他问题:)