该题目出自于《王道2015数据结构联考复习指导》P140,一,T8.。
1、问题重述:设F是一个森林,B是由F变换而来的二叉树。若F中有n个非终端结点,则B中右指针域的为空的结点个数是()个。
A、n-1 B、n C、n+1 D、n+2
2、解题步骤
设有x个叶子结点,那么总结点个数为x+n个。所以左右指针域的个数分别为x+n个。
N 右空+N 右不空=N右=x+n 式子(1)
N 左不空+N 右不空=N不空=x+n-1 式子(2)
(因为不空指针个数等于总的结点个数减1,即每一个非空指针对应数的一条边。有x+n个结点自然有x+n-1条边)
又因为有n个非终端,在所以所以有且仅有n个结点有孩子,因此转化成孩子兄弟表示法的二叉树后有n个不空的左指针。故
N左不空=n 式子(3)
将式子(3)带入式子(2)可以得到
N右不空=x-1 式子(4)
将式子(4)带入(1)得
N右空=x+n-(x-1)=n+1
所以得到B中右指针域为空的结点个数为n+1。即为书中非终端结点个数加1。
3、祝愿考研学子有志者事竟成!