跳动百科

叶子节点和非叶子节点的关系(叶子节点)

丁固伟
导读 大家好,我是小跳,我来为大家解答以上问题。叶子节点和非叶子节点的关系,叶子节点很多人还不知道,现在让我们一起来看看吧!1、n0=(n+...

大家好,我是小跳,我来为大家解答以上问题。叶子节点和非叶子节点的关系,叶子节点很多人还不知道,现在让我们一起来看看吧!

1、n0=(n+1)/2

2、设:度为i的结点数为ni,由二叉树的性质可知:

3、n0 = n2 + 1……………………①式

4、n = n0 + n1 + n2……………②式

5、由①式可得 n2 = n0 - 1,带入②式得:

6、n0 = (n + 1 - n1)/ 2

7、由完全二叉树性质可知:

8、如图,当n为偶数时,n1 = 1, n0 = n / 2

9、如图,当n为奇数时,n1 = 0,n0 = (n + 1)/2

10、将两式合并,写作:n0 = ⌊(n+1)/2⌋(向下取整符号不能丢)

11、扩展资料:

12、按照某种遍历方式对二叉树进行遍历,可以把二叉树中所有结点排列为一个线性序列。在该序列中,除第一个结点外,每个结点有且仅有一个直接前驱结点;除最后一个结点外,每个结点有且仅有一个直接后继结点。

13、但是,二叉树中每个结点在这个序列中的直接前驱结点和直接后继结点是什么,二叉树的存储结构中并没有反映出来,只能在对二叉树遍历的动态过程中得到这些信息。为了保留结点在某种遍历序列中直接前驱和直接后继的位置信息,可以利用二叉树的二叉链表存储结构中的那些空指针域来指示。

本文到此讲解完毕了,希望对大家有帮助。