微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决在二叉树中,兄弟节点是否必须排序?

在学校里一直在学习二叉树,二叉树的两个规则是

  1. 每个节点最多有2个子节点
  2. 存在为每个节点(有序对)的子代定义的线性排序

现在,所有类型的二叉树(完整树,完整树等)都是二叉树,因此它们必须满足这两个条件。

但是,我在GeeksForGeeks上看到了以下示例:

enter image description here

这里如何定义“线性排序”(有序对)?

对于这张图片中的兄弟节点,似乎一些左节点大于右节点,一些右节点大于左节点。

如果要求检查给定的树是否为二叉树,如何确定第二个属性,即必须对每个节点的子级进行排序?

谢谢

解决方法

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

二叉树的两个规则是

  1. 每个节点最多有2个子节点
  2. 存在为每个节点(有序对)的子代定义的线性排序

我可以想到的引入二叉树的简单方法是“最多两个子代且没有循环”或“最多两个子代和任意一对顶点之间的唯一路径”。

但是很好。您将得出线性顺序的点。让我们讨论一下。

Here

可以描述对象的有限集合上的线性排序 如下所示:每个对象都有一个直接的前一个对象 一个直接后继对象,但有两个例外:第一个对象 没有前任,最后一个对象也没有后任。

如果到目前为止您已经学习了遍历,那么按照上面的定义,我将把二叉树遍历视为线性顺序-预顺序,后顺序,有序,级别顺序。这适用于all types of binary trees (full,complete,etc.),其中包括您作为图像发布的完整二叉树。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。