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