满二叉树、完全二叉树、平衡二叉树、哈夫曼树

27 篇文章 0 订阅

最近做各大公司的笔试题,发现二叉树这块考得还是比较多的。

在笔试中,我看到了一道选择题,问哈夫曼树是不是满二叉树、是不是完全二叉树?当时哪记得清,什么二叉树的概念全忘光了。。

下面特地做了总结。

满二叉树:除了叶节点外每一个结点都有左右子女且叶节点都处在最底层的二叉树。

这个满二叉树应该很好想象,就是一颗非常完美的树,除了叶节点其他节点都有两个孩子。


完全二叉树:只有最下面的两层结点度小于2,并且最下面一层的结点都集中在该层最左边的若干位置的二叉树。

也就是说,在满叉树的基础上,我在最底层从右往左删去若干节点,得到的都是完全二叉树。

所以说,满二叉树一定是完全二叉树,但是完全二叉树不一定是满二叉树

下面来看一个完全二叉树的例子:


平衡二叉树:又称为AVL树,它是一颗空树或它的左右两个子树的高度差的绝对值不超过1

哈夫曼树:带权路径长度达到最小的二叉树,也叫做最优二叉树。

注意到这里,哈夫曼树只是一棵最优二叉树,不一定是完全二叉树,也不一定是平衡二叉树。完全是八竿子打不着的事情,人家哈夫曼树不关注树的结构,只关注带权路径长度好吗。。


下面再说几点关于二叉树性质,对于解答笔试题中的小题目很有用。

1.对于一棵有着k层的二叉树,最多有节点个数为 2^k-1,最少有k个节点

2.对于第k层,最多有节点个数为 2^(k-1)个

3.对于一棵非空的二叉树,叶子节点数目总比度为2的节点数要多1



  • 11
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值