Python 为什么给定的二叉树是用空节点构造的?
我已经开始阅读关于树的结构和二叉树是第一个 我使用以下资源: 在那里可以找到二叉树图像: 对于列表表示的列表,它看起来像:Python 为什么给定的二叉树是用空节点构造的?,python,list,tree,binary,representation,Python,List,Tree,Binary,Representation,我已经开始阅读关于树的结构和二叉树是第一个 我使用以下资源: 在那里可以找到二叉树图像: 对于列表表示的列表,它看起来像: 我的问题是:如果二叉树图像上没有显示空节点,为什么需要用箭头标记的空节点?正如我们所知,二叉树最多可以有两个节点,那么,为什么我们需要这个空节点呢?这个空节点如何帮助我们?或者这只是我们应该使用的约定?这主要在链接中解释,特别是构造函数: def BinaryTree(r): return [r, [], []] 创建新叶时,它始终包含: 价值本身 左节点 右节
我的问题是:如果二叉树图像上没有显示空节点,为什么需要用箭头标记的空节点?正如我们所知,二叉树最多可以有两个节点,那么,为什么我们需要这个空节点呢?这个空节点如何帮助我们?或者这只是我们应该使用的约定?这主要在链接中解释,特别是构造函数:
def BinaryTree(r):
return [r, [], []]
创建新叶时,它始终包含:
- 价值本身
- 左节点
- 右节点
这样做的好处是,在解析树时,不必检查
left
和right
是否存在,就像它们一直存在一样。这使得代码更加规则和简单。似乎是一种实现选择。带箭头的列表似乎是C的右子级的占位符。