在具有2n个结点的完全二叉树中,叶子结点的个数为
选C。
【解析】根据完全二叉树的性质:具有n个结点的完全二叉树的深度为[log2n]+1。本题中完全二叉树共有256个结点,则深度为[log2256]+1=8+1=9。
完全二叉树的性质:
(1)所有的叶结点都出现在第k层或k-l层(层次最大的两层)。
(2)对任一结点,如果其右子树的最大层次为L,则其左子树的最大层次为L或L+l。
扩展资料:
完全二叉树的特点
叶子结点只可能在最大的两层上出现,对任意结点,若其右分支下的子孙最大层次为L,则其左分支下的子孙的最大层次必为L 或 L+1;
出于简便起见,完全二叉树通常采用数组而不是链表存储,其存储结构如下:
var tree:array[1..n]of longint;{n:integer;n>=1}
对于tree[i],有如下特点:
(1)若i为奇数且i>1,那么tree的左兄弟为tree[i-1];
(2)若i为偶数且i<n,那么tree的右兄弟为tree[i+1];
(3)若i>1,tree的父亲节点为tree[i div 2];
(4)若2*i<=n,那么tree的左孩子为tree[2*i];若2*i+1<=n,那么tree的右孩子为tree[2*i+1];
(5)若i>n div 2,那么tree[i]为叶子结点(对应于(3));
(6)若i<(n-1) div 2.那么tree[i]必有两个孩子(对应于(4))。
(7)满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树。
完全二叉树第i层至多有2^(i-1)个节点,共i层的完全二叉树最多有2^i-1个节点。
完全二叉树的特性是:
1)只允许最后一层有空缺结点且空缺在右边,即叶子结点只能在层次最大的两层上出现;
2)对任一结点,如果其右子树的深度为j,则其左子树的深度必为j或j+1。 即度为1的点只有1个或0个
参考资料来源:百度百科--完全二叉树
划线得部分,我不知道为什么要那样想加
二叉树中的结点,它们的度只有3种:0,1或2。
因为是完全二叉树,所以,度为1的结点只可能是0个或1个。
又因为度为0的结点数总比度为2的结点数多1,
所以当结点总数为2n时,度为1的结点就只能是1个了(见图上的反证法证明)。
若设度为0的结点数为a个,则度为2的结点数为a-1个。
所以,总结点数=(a)+(1)+(a-1)=2a=2n,所以必有a=n,即叶子结点数为n。