为什么给定的二叉树用空节点构造?
Why is the given binary tree constructed with empty node?
我已经开始阅读树结构,二叉树排在第一位。
我使用以下资源:https://runestone.academy/runestone/static/pythonds/Trees/ListofListsRepresentation.html
在那里你可以找到二叉树图像:
列表表示的列表如下所示:
我的问题是:如果二叉树图像上没有显示,为什么我们需要箭头标记的空节点?我们知道二叉树最多可以有 个节点,那么,为什么我们需要这个空节点呢?这个空节点对我们有什么帮助?或者这只是我们应该使用的约定?
这个在link中主要有说明,具体跟构造函数有关:
def BinaryTree(r):
return [r, [], []]
创建新叶子时,它始终包含:
- 价值本身
- 左节点
- 右节点
这样做的好处是当你解析树时,你不必检查 left
和 right
是否存在,因为它们总是存在的。这使得代码更加规则和简单。
我已经开始阅读树结构,二叉树排在第一位。
我使用以下资源:https://runestone.academy/runestone/static/pythonds/Trees/ListofListsRepresentation.html
在那里你可以找到二叉树图像:
列表表示的列表如下所示:
我的问题是:如果二叉树图像上没有显示,为什么我们需要箭头标记的空节点?我们知道二叉树最多可以有 个节点,那么,为什么我们需要这个空节点呢?这个空节点对我们有什么帮助?或者这只是我们应该使用的约定?
这个在link中主要有说明,具体跟构造函数有关:
def BinaryTree(r):
return [r, [], []]
创建新叶子时,它始终包含:
- 价值本身
- 左节点
- 右节点
这样做的好处是当你解析树时,你不必检查 left
和 right
是否存在,因为它们总是存在的。这使得代码更加规则和简单。