数据结构树与二叉树例题

树与二叉树例题

例1

高度为K(K>=2)的完全二叉树至少有()个叶子结点。

解:
根据二叉树性质 二叉树第i(i>=1)层上至多有2^(i-1)个结点
第K-1层有 2^(K-1-1)=2^(K-2) 个结点
求二叉树至少有多少个叶子结点, 第K层至少有一个结点。故高度为K的二叉树至少有2^(K-2)个叶子结点.

例2

在二叉树中,指针p非空,它所指结点为叶子结点的条件是 (p->lchild=NULL) && (p->rchild=NULL)

例3

已知一棵度为3的树有2个度为1的结点,3个度为2的结点,4个度为3的结点,则该树中有()个叶结点

公式: 树中的结点数=总分叉数+1
这里的分叉数就是所有结点的度之和
树中的结点数p = 2+3+4+x (x为叶子结点数)
树中的结点数p = (2*1+3*2+4*3+x*0 )+1 = 2+6+12+1 = 21
x+9 = 21
x = 12

例4

已知完全二叉树的第7层有20个结点,则整个完全二叉树的叶子结点数是()

根据二叉树性质 第i层有2^(i-1)个结点 2^(7-1) = 64 个结点, 故第7层为最底层
第6层 2^(6-1) = 32个结点 由此可以得出第6层32+第7层20-第7层对应的第6层的结点数(20/2)= 20+32-(20/2)=42个
画图更明显

例5

有K个叶子结点的哈夫曼树,其结点的总数为()

根据哈夫曼树的构成, 初始K个叶子结点需要合并k-1次 一共产品k-1个结点. 如 初始4个结点需要3次合并 每次产生一个新的结点
新产生的k-1个结点+初始K个结点=K+K+1=2K+1

  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值