Data structures 二元搜索树是否有未显示的空子级?

Data structures 二元搜索树是否有未显示的空子级?,data-structures,tree,binary-search-tree,Data Structures,Tree,Binary Search Tree,在我找到的每个二进制搜索树中,似乎都有只有一个子节点的节点。这些节点实际上是否只有一个子节点,或者是否存在另一个未显示的空子节点。例如,14是否有未显示的右空子级?这将使树遍历更有意义。是的,只要没有2个子级,其余子级的引用/指针将包含空值(或以任何一种语言实现的等价值) 所以14将有一个空的右子代,1,4,7和13将有空的左和右子代 我只能说相当小的一部分语言,但是你肯定需要一些“指向零”的概念,它们将包含这些概念 以上假设您的结构类似于: node node left node

在我找到的每个二进制搜索树中,似乎都有只有一个子节点的节点。这些节点实际上是否只有一个子节点,或者是否存在另一个未显示的空子节点。例如,14是否有未显示的右空子级?这将使树遍历更有意义。

是的,只要没有2个子级,其余子级的引用/指针将包含空值(或以任何一种语言实现的等价值)

所以14将有一个空的右子代,1,4,7和13将有空的左和右子代

我只能说相当小的一部分语言,但是你肯定需要一些“指向零”的概念,它们将包含这些概念


以上假设您的结构类似于:

node
   node left
   node right
   type value
作为这种表示法的替代方法(虽然我不能说我见过这种表示法用于二叉树——只是提供了可能性),您也可以有一个子数组,例如,一个大小为2的数组意味着左和右子数组,一个大小为1的数组意味着只有一个子-您可能有一个标志指示它是左子还是右子(或者,因为它是BST,您可以比较它以确定它是哪个),一个大小为0的数组意味着没有子。请注意,此数组不需要包含任何空值