【发布时间】:2021-04-14 19:36:09
【问题描述】:
我最近刚开始上大学,之前没有任何编码经验。我开始研究树形数据结构及其Java实现。这个问题很基础,但我还没有找到答案。
在列表中,您首先键入 import java.util.List 需要做什么才能从树实现开始?
【问题讨论】:
标签: java data-structures tree
我最近刚开始上大学,之前没有任何编码经验。我开始研究树形数据结构及其Java实现。这个问题很基础,但我还没有找到答案。
在列表中,您首先键入 import java.util.List 需要做什么才能从树实现开始?
【问题讨论】:
标签: java data-structures tree
不需要导入 Java 包来实现 Trees。树结构是引用子节点地址的类的节点/实例的集合。虽然有不同类型的树,例如二叉搜索树或 AVL 树,但每棵树都有不同的属性。
Java中二叉搜索树的示例实现如下:
/* Node Class containing left and right child of current
node and key value*/
class Node
{
int key;
Node left, right;
public Node(int item)
{
key = item;
left = right = null;
}
}
class Tree
{
Node root;
Tree()
{
root = null;
}
public static void main(String[] args)
{
Tree tree = new Tree();
tree.root = new Node(1);
tree.root.left = new Node(2);
tree.root.right = new Node(3);
tree.root.left.left = new Node(4);
}
}
【讨论】:
最简单的答案是 DefaultTreeModel 类。基本上,您创建 TreeNode 对象并根据需要将它们添加到模型或父节点。 DefaultMutableTreeNode 应该足以满足您作为初学者的需求。
您可以使用递归轻松导航模型。
【讨论】:
对于常规二叉树,您可以实现自己的:
class Node {
int value;
Node left;
Node right;
public Node(int value) {
this.value = value;
}
}
然后创建一个包含根节点实例的 BinaryTree 类。
【讨论】: