完全二叉树有一个很有趣的性质:结点从1开始编号,层序。那么分每一个结点(编号为i)的左孩子结点是2i,右孩子结点编号是2i+1.
反之,根据孩子结点的编号可以推知父结点的编号:孩子结点编号的下取整。
下面是较聪明的应用:
一棵完全二叉树有1001个结点。其中叶结点的个数是:501个。
分析:1001个结点,则最后一个结点的编号是1001,那么它的父亲结点编号是500,注意,这个并不一定是倒数第二层的最后一个结点。那么从501号结点开始往后都是叶子结点,因此,叶子结点有501个。
完全一样道理的题目:
若一棵二叉树有768个结点,则该二叉树叶子结点的个数是:384个。
分析:768个结点,那么就意味着最后一个结点的父结点编号是384,从385号结点开始到最后一个全是叶子结点,因此共有384个叶子结点。
以上。