如何将多个子节点添加到树中

How to add multiple child nodes to a tree

我正在开展一个项目,以创建一个包含 2 个以上子节点的树。我知道在创建二叉树时,我们可以只创建一个左节点和一个右节点作为子节点,但是当我在网上寻找创建树的帮助时,我发现的每个解决方案都在谈论创建一个二叉树树。我知道创建树的一部分意味着您需要创建子节点的数组或数组列表,但我不明白我将如何将数据放入该数组或我将如何 'connect'我的父节点的子节点数组?

这是我目前拥有的代码。我知道这不是很多,但我刚开始这个项目就很挣扎。

class Node
{
    public int data; //data for storage
    public Node[] children;//array will keep children
    public Node parent;//parent to start the tree

    public Node(, int data)//constructor will store data and children(I think?)
    {
    }
}

public class Tree //main class will implement everything in Node
{
}

如何以及在何处开始将我的子节点连接到我的 parent/root 节点的过程?

将子项存储在列表中不会对数组重新创建产生问题,但您也可以使用数组。 您也可以直接在构造函数中或添加第一个子项时初始化数组。

public class Main {

    public static void main(String[] args) {
        Node node = new Node(1)
            .addChild(new Node(2)
                    .addChild(new Node(4))
                    .addChild(new Node(5)))
            .addChild(new Node(3));
    }
}

class Node {
    public int data; //data for storage
    public List<Node> children;//array will keep children
    public Node parent;//parent to start the tree

    public Node(int data) {
        children = new ArrayList<>();
        this.data = data;
    }

    public Node addChild(Node node) {
        children.add(node);
        node.parent = this;
        return this;
    }
}