Java 树类

标签 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 方法。最终目标是创建一个算法,在树中搜索任意两个节点之间的路径,以获得最大值(将节点之间的所有值相加)。

最佳答案

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

您有一个 rootNode,您将使用该“节点”值调用它的什么方法?

我不确定,但我认为您的界面已损坏。我认为您通过位置获取和通过 ID 获取的概念混淆了。

画出您期望的数据结构的图片。

关于Java 树类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1611052/

相关文章:

java - Java基础问题,java中的变量类型和方法类型

java - 如何在Java中将String转换为long?

python - 使用父指针在二叉搜索树中删除

ruby-on-rails-3 - Rails 祖先分页

php - 树遍历递归计算

c# - 如何在 c# asp html 中制作具有 tiles 样式的树?

java - ArrayLists 无法正确添加值?

java - 为什么剪贴板类有名称属性

JAVA - 两个带有 SSL 连接的客户端 java,第一个需要证书,第二个不需要证书

从数组创建一个未排序的二叉树(这将像一个堆,即按顺序存储但未排序)