树学习(3)
来源:互联网 发布:商业计划书的优化答案 编辑:程序博客网 时间:2024/06/02 13:49
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);
思路二:画图。
- 树学习(3)
- linuxi学习curses(3) 学习输入
- Android学习(3)---Fragment的学习
- 深度学习(3)TensorFlow 学习
- Flask学习(3)蓝图学习
- 数据结构学习_树(3)
- 平衡树:treap学习笔记(3)
- 树学习(1)
- 树学习(2)
- 树学习(4)
- 树学习(5)
- 树学习(6)
- 树学习(7)
- JAVA5 学习(3)
- HSQLDB学习(3)
- 学习笔记(3)
- 汇编学习(3)
- WTL学习(3)
- PHP函数-字符长度与截取
- 解决火狐https问题 安全连接问题
- javascript类型判断
- ArrayList的基本工作原理详解remove
- 浏览器内核的解析和对比
- 树学习(3)
- PCL体素滤波器加双窗口显示滤波前后结果
- Example13_6
- opencv 配置文件
- [Unity踩坑系列]带SD卡的安卓手机,安装apk失败的问题
- js获取页面url中的各项值
- RxJava2详解(一)--基础
- 正确设置网站文件所有者 防止php网站被挂木马
- 求数的二进制表示中的1的个数