Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Data structures 在二叉树中,兄弟节点是否必须排序?_Data Structures_Tree_Binary Tree - Fatal编程技术网

Data structures 在二叉树中,兄弟节点是否必须排序?

Data structures 在二叉树中,兄弟节点是否必须排序?,data-structures,tree,binary-tree,Data Structures,Tree,Binary Tree,刚刚在学校学习过二叉树,二叉树的两条规则是 每个节点最多有2个子节点 存在为每个节点(有序对)的子节点定义的线性排序 现在,所有类型的二叉树(完整、完整等)都是二叉树,因此它们必须满足这两个条件 然而,我在Geeksforgek上看到了这个例子: 这里如何定义“线性排序”,有序对 对于图中的兄弟节点,一些左侧节点比右侧节点大,一些右侧节点比左侧节点大 如果要求检查给定的树是否是二叉树,我如何确保第二个属性,即每个节点的子节点必须排序 这是引入二叉树的一种复杂方法 二叉树的两条规则是 每个节点最

刚刚在学校学习过二叉树,二叉树的两条规则是

  • 每个节点最多有2个子节点
  • 存在为每个节点(有序对)的子节点定义的线性排序
  • 现在,所有类型的二叉树(完整、完整等)都是二叉树,因此它们必须满足这两个条件

    然而,我在Geeksforgek上看到了这个例子:

    这里如何定义“线性排序”,有序对

    对于图中的兄弟节点,一些左侧节点比右侧节点大,一些右侧节点比左侧节点大

    如果要求检查给定的树是否是二叉树,我如何确保第二个属性,即每个节点的子节点必须排序


    这是引入二叉树的一种复杂方法

    二叉树的两条规则是

  • 每个节点最多有2个子节点
  • 存在为每个节点(有序对)的子节点定义的线性排序
  • 我能想到的引入二叉树的简单方法是“最多两个子树,没有循环”或“最多两个子树,任何顶点对之间的唯一路径”

    但是很好。你提出了线性顺序的问题。让我们讨论一下

    可以描述有限对象集合上的线性排序 如下所示:每个对象正好有一个直接前置对象 和一个直接后续对象,但有两个例外:第一个对象 没有前置对象,最后一个对象没有后续对象

    如果到目前为止您已经了解了遍历,根据上面的定义,我会将二叉树遍历作为线性顺序——前序、后序、顺序、级别顺序。这适用于
    所有类型的二叉树(完整、完整等)。
    其中包括作为图像发布的完整二叉树。

    条件(1)适用于所有二叉树。条件(2)仅适用于二元搜索树。g2g中的示例是二叉树,但不是二叉搜索树。或者条件(2)的定义很奇怪。在二叉树中,有一个左子位置和一个右子位置。你可以认为这本身就是一种排序。