如何解决在二叉树中,兄弟节点是否必须排序?
在学校里一直在学习二叉树,二叉树的两个规则是
- 每个节点最多有2个子节点
- 存在为每个节点(有序对)的子代定义的线性排序
现在,所有类型的二叉树(完整树,完整树等)都是二叉树,因此它们必须满足这两个条件。
但是,我在GeeksForGeeks上看到了以下示例:
这里如何定义“线性排序”(有序对)?
对于这张图片中的兄弟节点,似乎一些左节点大于右节点,一些右节点大于左节点。
如果要求检查给定的树是否为二叉树,如何确定第二个属性,即必须对每个节点的子级进行排序?
谢谢
解决方法
这是引入二叉树的复杂方法之一。
二叉树的两个规则是
- 每个节点最多有2个子节点
- 存在为每个节点(有序对)的子代定义的线性排序
我可以想到的引入二叉树的简单方法是“最多两个子代且没有循环”或“最多两个子代和任意一对顶点之间的唯一路径”。
但是很好。您将得出线性顺序的点。让我们讨论一下。
可以描述对象的有限集合上的线性排序 如下所示:每个对象都有一个直接的前一个对象 一个直接后继对象,但有两个例外:第一个对象 没有前任,最后一个对象也没有后任。
如果到目前为止您已经学习了遍历,那么按照上面的定义,我将把二叉树遍历视为线性顺序-预顺序,后顺序,有序,级别顺序。这适用于all types of binary trees (full,complete,etc.)
,其中包括您作为图像发布的完整二叉树。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。