如何为分配了4个值的多个树节点定义节点类?

时间:2016-11-23 16:00:46

标签: java tree binary-tree

我对java非常陌生,而我所有的其他搜索都会导致比我给出的问题更复杂的事情,所以我想知道我怎么会这样做?我希望我的树节点包含以下字段:父节点,左节点,右节点和数据。

1 个答案:

答案 0 :(得分:0)

由于您是Java新手,最基本的结构将是这样的:

public class Node {
    private Node parent, left, right;
    private Integer data;

    public Node(Node parent, Node left, Node right, Integer data) {
        this.parent = parent;
        this.left = left;
        this.right = right;
        this.data = data;
    }

    public Node getParent() { return this.parent; }
    public Node getLeft() { return this.left; }
    public Node getRight() { return this.right; }
    public Integer getData() { return this.data; }

    public void setParent(Node parent) { this.parent = parent; }
    public void setLeft(Node left) { this.left = left; }
    public void setRight(Node right) { this.right = right; }
    public void setData(Integer data) { this.data = data; }
}

如果您想进一步了解有关面向对象编程的更多信息,我会调查generics.

public class Node<T extends Comparable<T>> {
    private Node parent, left, right;
    private T data;

    // Getters, setters, compare methods here
}

这样您就可以声明Node<Integer>Node<String>Node<CustomClass>,以免限制使用某种类型的数据。您需要执行extend Comparable<T>,以便在执行insert()和其他树函数时轻松比较对象。