微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

树型数据结构实现

如何解决树型数据结构实现

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

就像在列表中一样,您首先输入 import java.util.List 需要做什么才能从树实现开始?

解决方法

没有这样的数据结构可以为您提供这种树结构。但是你可以创建自己的。 这是 Java 中二叉树结构的示例。你可以根据自己的需要自定义,可能你想要两个以上的孩子,所以你可以添加更改节点类。

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

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

public class BinaryTree {

    Node root;

    // ...
}

您可以在此处找到与此相关的更多信息:https://www.baeldung.com/java-binary-tree

,

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

您可以很容易地使用递归来导航模型。

,

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

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

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

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

,

无需导入 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);
    }
}

,

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

如果您只想要代码,我建议您查看此 topic,如果您关注的问题不是如何做而是如何工作,我建议您查看 this

如果你使用这个数据结构发现了问题,你需要学习this

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。