我已经开始阅读关于树结构和二叉树的第一个。
我使用以下资源:https://runestone.academy/runestone/static/pythonds/Trees/ListofListsRepresentation.html
在那里你可以找到二叉树图像:
使用列表表示列表,它看起来像:
我的问题是:为什么我们需要标有箭头的空节点,如果它没有显示在二叉树图像上?我们知道二叉树可以有最多两个节点,那么,为什么我们需要这个空节点呢?这个空节点如何帮助我们?或者只是我们应该使用的惯例?
答案 0 :(得分:2)
这主要在链接中解释,特别是构造函数:
def BinaryTree(r):
return [r, [], []]
创建新叶时,它始终包含:
这样做的好处是,当您解析树时,您不必检查是否存在left
和right
,因为它们始终存在。这使代码更加规则和简单。