设F是一个森林,B是由F转换得到的二叉树,F中有n个非终端结点,B中右指针域为空的结点有?
答案:n + 1
解题思路:
对于树中的非终端节点(也就是分支结点),每个非终端结点至少有一个孩子结点,不管孩子结点有几个(孩子结点必然是有限的)按照森林转化为二叉树的左孩子右兄弟来看,必然最后一个孩子结点的右指针域是空的,因为他是最后一个孩子他已经没用兄弟了所以此时有n个非终端结点那么就会有n个右指针域为空的结点
因为我们刚刚看的是非终端结点的孩子结点也就是说是从第一层开始的,那么我们再来看第一层非终端结点(每一棵二叉树的根结点),第一层非终端结点按照森林转化为二叉树的左孩子右兄弟的思想,我们可以得到最后一颗二叉树的右指针域是空的因为他的后面没有二叉树了也就是没有了“兄弟节点了”