具有int节点的数学树的Java结构
在Java中, Tree
是表示具有以下属性的Tree
的最佳结构:
int
s; int d > 0
我需要的操作:
我不需要的操作:
属性对于Tree
是完美的,所以也许在性能方面有一些超级实现。 XMLTree
或其他。
目前我使用一个数组数组来存储元素,但我觉得它不是微妙的。
以下是可用于形成树结构的Node
类的基本示例。 编写方法以深度优先或宽度优先的方式迭代所有子节点会有一些复杂性。
作为替代方案,您可以考虑使用DefaultMutableTreeNode
,它提供这些免费的方法( depthFirstEnumeration()
, breadthFirstEnumeration()
)。 此节点实现还允许您通过调用setUserObject(Object)
来附加用户对象。 缺点是实现可能不如编写自己的结构那样紧凑,所以它实际上取决于树的大小。
public class Node {
private final int value;
private final List<Node> children;
public Node(int value) {
this.value = value;
this.children = new LinkedList<Node>();
}
public int getValue() {
return value;
}
public List<? extends Node> getChildren() {
return Collections.unmodifiableList(children);
}
public void addChild(Node child) {
children.add(child);
}
}
链接地址: http://www.djcxy.com/p/39875.html