Java 树型数据结构的实现

Java 树型数据结构的实现,java,data-structures,tree,Java,Data Structures,Tree,我最近刚开始上大学,以前没有编码经验。我开始研究树数据结构及其Java实现。这个问题很基本,但我还没有找到答案 与在列表中一样,您可以通过键入import java.util.list开始执行树实现,需要做什么?最简单的答案是DefaultTreeModel类。基本上,您可以创建树节点对象,并根据需要将它们添加到模型或父节点。DefaultMutableTreeNode应该足以满足初学者的需要 您可以非常轻松地使用递归导航模型。对于常规二叉树,您可以实现自己的: class Node {

我最近刚开始上大学,以前没有编码经验。我开始研究树数据结构及其Java实现。这个问题很基本,但我还没有找到答案


与在列表中一样,您可以通过键入import java.util.list开始执行树实现,需要做什么?

最简单的答案是DefaultTreeModel类。基本上,您可以创建树节点对象,并根据需要将它们添加到模型或父节点。DefaultMutableTreeNode应该足以满足初学者的需要


您可以非常轻松地使用递归导航模型。

对于常规二叉树,您可以实现自己的:

class Node {
    int value;
    Node left;
    Node right;

    public Node(int value) {
        this.value = value;
    }
}

然后创建一个包含根节点实例的BinaryTree类。

没有提供这种树结构的数据结构。但是你可以自己创造。 下面是Java中二叉树结构的一个示例。您可以根据自己的需要对其进行自定义,也许您希望有两个以上的孩子,因此您可以添加或更改节点类

class Node {
    int value;
    Node left;
    Node right;

    Node(int value) {
        this.value = value;
        right = null;
        left = null;
    }
}

public class BinaryTree {

    Node root;

    // ...
}

您可以在这里找到与此相关的更多信息:

无需导入Java包来实现树。树结构是引用子节点地址的类的节点/实例的集合。虽然有不同类型的树,如二叉搜索树或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);
    }
}


树结构与列表实现有点不同

如果你只是想要代码,我建议你看看这个,如果你的重点问题不是如何做,而是它们如何工作,我建议你


如果您通过使用此数据结构发现了问题,则需要了解这是一个swing类。如果您只需要实现一个简单的数据结构,我不建议您使用swing。它是一个swing类,但该模型是可靠的,可以在swing之外轻松使用。