为什么给定的二叉树用空节点构造?

时间:2018-04-05 18:31:50

标签: python list tree binary representation

我已经开始阅读关于树结构和二叉树的第一个。

我使用以下资源:https://runestone.academy/runestone/static/pythonds/Trees/ListofListsRepresentation.html

在那里你可以找到二叉树图像:

enter image description here

使用列表表示列表,它看起来像:

enter image description here

我的问题是:为什么我们需要标有箭头的空节点,如果它没有显示在二叉树图像上?我们知道二叉树可以有最多两个节点,那么,为什么我们需要这个空节点呢?这个空节点如何帮助我们?或者只是我们应该使用的惯例?

1 个答案:

答案 0 :(得分:2)

这主要在链接中解释,特别是构造函数:

def BinaryTree(r):
  return [r, [], []]

创建新叶时,它始终包含:

  • 价值本身
  • 左侧节点
  • 正确的节点

这样做的好处是,当您解析树时,您不必检查是否存在leftright,因为它们始终存在。这使代码更加规则和简单。