实现java二叉树的左指针信息右指针

时间:2017-04-16 03:11:57

标签: java pointers binary-tree nodes

我被分配了一个关于将列表转换为二进制树的家庭作业,我无法理解这个概念,我一直在阅读示例,但我无法弄清楚如何实际使用它。我需要一个左节点指针,信息和右指针。我找到了要添加的代码,但不了解如何使用它。

class Node{  

    int data;  
    Node left;  
    Node right; 

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

这就是我需要做的所有程序,我不明白我是怎么想为每个节点分配左右值。我插入的每个节点都需要一个名称吗?我的作业有伪代码,例如

y = avail;  //whats avail? this is my first line
treeRoot = y;
info(y) = x[2];   //(im inputing from an array) how do i assign this?
lptr(y)= z;     // (left pointer of y gets z) z maybe a pointer?

1 个答案:

答案 0 :(得分:0)

您不需要更多名字。树结构表明每个节点都包含所有直接后代的POINTERS。因此,任何节点都可以通过路径找到,看起来像root->left->left->right->left->right。因此,对于每个节点,您将实例化类Node的新实例。然后通过某种算法,您应该找到哪个列表项将成为root。然后,您会将列表中的相应项目分配到root.left = new Node(list[someIndex])root.right = new Node(list[someIndex])。所以现在root.right也是Node的实例。所以它也有左右。等等。