Java树类

时间:2009-10-23 02:01:24

标签: java tree

我正在尝试创建自己的树类,但仍然非常困惑。基本上我正在尝试制作加权树。我做了以下节点类:

 import java.util.*;

public class subdivNode {

private int nodevalue;
private int nodeID;
private List<subdivNode> childnodes; 

public subdivNode(int value, int id){
    nodevalue = value;
    nodeID = id;
}

public int getValue(){
    return nodevalue;
}

public int getId(){
    return nodeID;
}

public void addChild(subdivNode child){
    childnodes.add(child);
}

public int getNumChildren(){
    return childnodes.size();
}

public subdivNode getChild(int pos){    //return's i'th child
    return childnodes.get(pos);
}
}

到目前为止,这是我的树类的骨架:

public class subdivTree {

private subdivNode rootnode;

public subdivTree(){
    rootnode = new subdivNode(0,0);
}

public void addNode(int parent, int value){

}

public int getNodeValue(int node){

    return 0;
}

public int getNumChildren(int node){
    return 0;
}


}

除此之外我不知道

编辑:抱歉模糊不清。我的问题应该是如何在subdivTree中实现addnode方法。最终目标是创建一个alogrithim,在树中搜索任意两个节点之间的路径,以便获得最大值(添加节点之间所有值的值)。

1 个答案:

答案 0 :(得分:2)

在使用addNode之前,请告诉我们getNodeValue(int node)将如何工作。

你有一个rootNode,你用那个“node”值调用哪种方法?

我不确定,但我认为您的界面已损坏。我认为你的位置和通过Id得到的概念很混乱。

绘制您期望的数据结构图片。