【数据结构】有序树和无序树的区别

来源:互联网 发布:php数组最大长度限制 编辑:程序博客网 时间:2024/06/06 09:25
这个问题想了好久才弄清楚,现在总结一下。

概念是这样的:

有序树
树中任意节点的子结点之间有顺序关系,这种树称为有序树

无序树
树中任意节点的子结点之间没有顺序关系,这种树称为无序树,也称为自由树

换而言之,兄弟结点有顺序的树,称为有序树,兄弟之间无顺序的树称为无序树。

那么,3个结点到底能组成多少种有序树,多少种无序树呢?

先看无序树,兄弟无序,但是父子还是有序的
假设有A、B、C三个结点,总共可以组成 9 种无序树,分别是:
  • 1个父节点,2个子结点的情况有 3 种
  • 链式结构有 6 种(因为链式结构相互之间都是父子关系,所以有 6 种不同的组合)

理解了无序树,有序树也更好理解了
有A、B、C三个结点,总共有 12 种有序树,分别是:
  • 1个父节点,2个子结点的情况有 6 种
  • 链式结构有 6 种

三个结点组成的二叉树,种类就更多了,有 30

下面的类型,每一个都有6种