作业1--

1:设度为i的节点个数为ni, 该树总共有n个节点,则n=n0+n1+n2+n3.
有n个节点的树的总边数为n-1条.
总边数与度之间的关系为:n-1=0n0+1n1+2n2+3n3.
层序遍历=广度优先遍历。前序遍历=深度优先遍历。
2:一颗拥有1000个结点的树度为4,则它的最小深度是 6
如果这棵树每一层都是满的,则它的深度最小,假设它为一个四叉树,高度为h,则这个数的节点个数为(4^h - 1) / 3。n层k叉树,总共有(k^n-1)/k-1。当h = 5, 最大节点数为341, 当h = 6, 最大节点数为1365,所以最小深度应该为6
3:一颗完全二叉树上有1001个结点,其叶子结点的个数是
完全二叉树种父亲节点与孩子节点编号的关系(编号从0开始): child = 2 * parent + 1, child2 = 2 * parent + 2,所以从编号500开始的节点就没有孩子节点了, 都为叶子节点,故叶子节点位置[500, 1000],共501个
4:高度为h的完全二叉树,节点个数n在: 2^(h - 1) - 1 < n <= 2^h - 1;对应的关于h:
log(n + 1) <= h < log(n + 1) + 1。
设根结点的深度为1,则一个拥有n个结点的二叉树的深度一定在(? )区间内。
最大深度: 此树为单边树,则深度为n
最小深度: 此树为完全二叉树, 如果是完全二叉树,假设高度为h,
前h-1层为满二叉树, log(2(n + 1))=log(n + 1) + 1 ,对数性质log(ab) = log(a) + log(b)
logn + 1 = log(2n) ,[logn + 1,n]=?
5:二叉树的中序遍历序列为JGDHKBAELIMCF,后序遍历序列为JGKHDBLMIEFCA,则其前序遍历序列为?
根据后序遍历确定子树的根,后序遍历从后向前看,最后一个元素为根,和前序遍历刚好相反,从后向前看后序遍历,应该是根,右,左,根据中序遍历确定子树的左右区间。
根=A
A的左子树:JGDHKB ;A的右子树:ELIMCF
A的左子树的根:B ; A的右子树的根:C
B的左子树:JGDHK ; B的右子树:空 ;C的左子树:ELIM ;C的右子树:F
B的左子树的根:D ; C的左子树根:E
D的左子树的根:G; D的右子树的根:H ; E的右子树的根:I
请添加图片描述
6已知某二叉树的前序遍历序列为5 7 4 9 6 2 1,中序遍历序列为4 7 5 6 9 1 2,则其后序遍历序列为
前序遍历找到子树的根,中序遍历的位置找到子树的左右区间。
请添加图片描述

6
请添加图片描述
7:如果一颗二叉树的前序遍历的结果是ABCD,则满足条件的不同的二叉树有( 14)种
首先这棵二叉树的高度一定在3~4层之间:
三层:
A(B(C,D),()), A((),B(C,D)), A(B(C,()),D), A(B((),C),D),
A(B,C(D,())), A(B,C((),D))
四层:
如果为四层,就是单边树,每一层只有一个节点,除过根节点,其他节点都有两种选择,在上层节点的左边还是右边,所以222共8种
8:设某种二叉树有如下特点:每个结点要么是叶子结点,要么有2棵子树。假如一棵这样的二叉树中有m(m>0)个叶子结点,那么该二叉树上的结点总数为m+m+1 = 2m+1。
任意的二叉树中,度为0的节点比度为2的节点多了1个

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值