二叉树节点类引用

时间:2014-10-18 16:04:42

标签: java algorithm binary-tree nodes

我正在学习二叉树,我想了解为什么Node left再次调用class Node

例如:

class Node
{
   Node left, right;
   int data;
}

为什么Node调用Node以及为什么它不是int Node。

3 个答案:

答案 0 :(得分:1)

字段leftright可能只包含对其他Node个实例的引用。它们不是类,只是引用类型的字段。

通过这样的设置,您可以构建二叉树,因为现在每个Node可以包含一个值 - int data - 以及对左子树的根节点的引用 - { {1}} - 以及对右子树的根节点的引用 - Node left

答案 1 :(得分:1)

这不是调用,这是member declaration,这些是字段,如果它只是int node我们没有对节点的子节点的任何引用,所以我们需要有node类型的字段因为它是二叉树,我们需要left childright childs

答案 2 :(得分:1)

二叉树只是一个结构,它包含0到2个链接在一起的相同类型对象的引用。例如,这张糟糕的图表:

  10
 /  \
1    5
    / \
   3   6

10是Node,其中包含:

  • left引用Node value 1。
  • right引用Node value 5。

其他节点类似。