二叉树整理

折半查找判定树画图方法

根是中点下标左子树是从起点到中点前一个(也就是前面一半)序列折半查找的判定树右子树是从中点下一个到终点(也就是后面一半)序列折半查找的判定树

为什么二叉树n0节点比n2节点多1

因为二叉树所有结点滴个数都不大于2,所以结点总数(1)n=n0+n1+n2(点方程)
又因为度为1和度为2的结点分别有1个子树和2个子树,所以,二叉树中子树结点就有
(2) n(子)=n1+2n2
二叉树中只有根节点不是子树结点,所以二叉树结点总数
n(总)=n(子)+1 即 n(总)=n1+2n2+1 (边方程)
结合(1)式和(2)式就得
n0=n2+1

哈夫曼树是满二叉树吗,avl树,完全二叉树满二叉树都是什么,各自区别是什么?

看到好多网上答案是错的,感觉好无语特总结一下。
满二叉树:除了叶节点外每一个结点都有左右子女且叶节点都处在最底层的二叉树。
这个满二叉树应该很好想象,就是一颗非常完美的树,除了叶节点其他节点都有两个孩子。
完全二叉树:只有最下面的两层结点度小于2,并且最下面一层的结点都集中在该层最左边的若干位置的二叉树。
也就是说,在满叉树的基础上,我在最底层从右往左删去若干节点,得到的都是完全二叉树。
总结:所以说,满二叉树一定是完全二叉树,但是完全二叉树不一定是满二叉树
平衡二叉树:又称为AVL树,它是一颗空树或它的左右两个子树的高度差的绝对值不超过1
哈夫曼树:带权路径长度、

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

前序,中序,后序遍历怎么在图上通过什么方法观察出来?

通过找根节点方法如下图
在这里插入图片描述
如此图我们想中序遍历先找到根节点A 分成两块 (BDE)A(CFG) 这个时候内其实没完,我们继续找根发现BDE的根是B,CFG的根是C这个时候呢安装中序遍历就是DBE FCG 这个时候呢我们就可以连起来就是一个中序遍历了
(DBE)A(FCG) 去掉括号就是中序遍历
DBEAFCG
先序后续遍历类似也是找根法就能出来,相信聪明的你一定学会了吧~

一颗完全二叉树有n个节点怎么求叶子节点

一、假设n0是度为0的结点总数(即叶子结点数),n1是度为1的结点总数,n2是度为2的结点总数。
二、由二叉树的性质可知:n0=n2+1,则n= n0+n1+n2(其中n为完全二叉树的结点总数)
三、由上述公式把n2消去得:n= 2n0+n1-1
四、由于完全二叉树中度为1的结点数只有两种可能0或1,n为偶数时候为0,为奇数时候为1 由此得到n0=(n+1)/2或n0=n/2
五、合并成一个公式:n0=(n+1)/2 ,就可根据完全二叉树的结点总数计算出叶子结点数。

已知完全二叉树最大节点编号求二叉树叶结点数

想象一下用数组来存二叉树节点,所以二叉树最后一个节点的父节点就是最后一个父节点
完全二叉树最后一个结点的编号为n,则它的父结点编号为[n/2],则叶结点个数为n-[n/2]。

二叉树的高度和深度

高度和深度是相反的表示,深度是从上到下数的,而高度是从下往上数。
某节点的深度是指从根节点到该节点的最长简单路径边的条数,而高度是指从该节点到叶子节点的最长简单路径边的条数。

高度为8得平衡二叉树最少得节点数为多少

在节点最少的情况下,左右子树的高度差1,则总节点数S(n)=S(n-1)+S(n-2)+1。
初始值:S(1) = 1,S(2) = 2。可以推出S(3) = 4,S(4) = 7,S(5) = 12,S(6) = 20,S(7) = 33,S(8) = 54。
高度为8的平衡二叉树最少结点数是54

一颗二叉树的先序遍历序列为ABCDEFG,它的中序遍历可能是

1.CABDEFG
2.ABCDEFG
3.DACEFBG
4.ADCFEG
因为中序遍历序列非递归先进入栈的都是左子树,然后遇到顺序出栈这个大体方向不能错比如abc入栈,就不可能出来cab,还有会说c有右子树呢,其实每个节点的右子树也是递归意思,因为右边得全部中序遍历以后,还是会走到b这个节点访问,cba不能顺序颠倒。

答案1,ABC进栈不可能得到CAB,不可能得到
答案2,ABCDEFG进栈是可以得到ABCDEFG的,结果合法
答案3,ABCD等进栈后,先出栈的是D,前面进栈的ABC只能是按CBA次序出来,结果是ACB,不可能得到
答案4,缺少一个,无法断定

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值