树学习(3)

77 篇文章 5 订阅
24 篇文章 1 订阅

1、       非空的平衡二叉树中插入一个节点,原有节点中至少一个节点的平衡因子会改变。

分析:一旦插入一个节点原先节点至少会有一个节点的平衡因子会改变。

平衡因子=H左子树-H右子树,即使插入结点后不改变原二叉树的平衡性,平衡因子也会改变。

 

2、       已知一棵树的先序、中序、后序序列,还原这颗树需要?

分析:还原树必须要知道包括中序序列在内的任意两种序列。即后序+中序、前序+中序。

 

3、       在二叉树结点的前序、中序、后序序列中,所有叶结点的先后顺序:完全相同、

分析:三个遍历的次序和特点,前序为根左右,中序是左根右,后序是左右根,因此相对次序发生变化的都是子树的根,也就是分支结点。叶节点的先后顺序不变。

结点位置是不变的,只是遍历的方法不同。变化的只是非叶子结点的位置,叶子结点的相对位置是不变的。

 

4、       给定n个结点的二叉搜索树,每个节点的值是整数。给定一个整数,在树中找出与该整数最接近的结点的最小算法复杂度是:O(log n)

分析:平衡二叉树的时间复杂度是log(n),如果二叉树的元素个数为n,那么不管对树进行插入结点、查找、删除节点都是Log(n)次循环调用就可以了。

这个问题是问最小的情况,那么就要考虑最优条件。

 

二叉搜索树的遍历,每次只向一个子树搜素,大概相当于二分查找的效率、

 

5、       在一颗度为4的树T中,若有20个度为4的结点,10个度为3的结点,1个度为2的结点,10个度为1的结点,则树T的叶节点的个数是 82.

分析:除了根结点外,树的每个节点都有唯一的一个入度,因此计算出共有多少个出度,再加1就是树中总的结点数目。也就是20*4+10*3+1*2+10*1+1=123个。而四叉树里结点就5类,有4个孩子的,有3个孩子的,有2个孩子的,有1个孩子的,没有孩子的,现在前4类的数目知道了,即20+10+1+10=41,所以没有孩子的结点为123-41=82个。

 

6、       对一颗二叉树进行后续遍历,其输出结果为A,B,C这样的二叉树有5棵。

思路一:卡特兰树公式计算。C(2N,N)/(N+1);

思路二:画图。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值