算法总结五
来源:互联网 发布:知乎电影1942精彩片段 编辑:程序博客网 时间:2024/05/16 00:57
前序遍历:根结点 ---> 左子树 ---> 右子树
中序遍历:左子树---> 根结点 ---> 右子树
后序遍历:左子树 ---> 右子树 ---> 根结点
层次遍历:只需按层次遍历即可
记住什么序遍历,根节点就在什么位置,前序遍历就是根节点在前面然后左子树和右子数
System.out.print(root.val+" "); preOrderTraverse1(root.left); preOrderTraverse1(root.right);这就是前序
题目:已知中序为DCBGEAHFIJK 后序遍历为DCEGBFHKJIA ,画出二叉树
解法:先求根节点,一看后序最后就知道根节点为A,那么中序A之前的为左子树,接着看第一个字母是否一样,一样说明第一个字母为左节点,不一样说明第一个字母为右节点或者为左右节点的根节点,解这题关键在于从左向右一个字符一个字符去推敲,先看中序前三个字母,再看后序前三个字母,画出可能的样子,再推下一个节点
这些可能都要考虑
在C#进行字符串拼接的时候,最好不要采用String+的方式拼接字符串,因为这样会产生更多的string实例,造成时间和空间的浪费。更好的办法是采用StringBuilder的Append方法
平衡二叉树:称为AVL树,左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树,平衡二叉树必定是二叉搜索树
二叉搜索树的特性:左节点必定小于根节点,右节点必定大于根节点
排序算法的稳定性:通俗地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。在简单形式化一下,如果Ai = Aj, Ai原来在位置前,排序后Ai还是要在Aj位置前。举个例子,在选择排序中。序列5 8 5 2 9, 我们知道第一遍选择第1个元素5会和2交换,那么原序列中2个5的相对前后顺序就被破坏了,所以选择排序不是一个稳定的排序算法。
- 算法总结五
- 五种查找算法总结
- 五大查找算法总结
- 五种查找算法总结
- 五种查找算法总结
- 五大常用算法总结
- 五种查找算法总结
- 常用排序算法总结(五)
- 五大常用算法总结
- 五种查找算法总结
- 数据结构(五)算法总结
- 五种查找算法总结
- 五大常用算法总结
- 排序算法总结(五)快速排序
- 五种进程调度算法的总结;
- 五中排序算法性能比较总结
- 密度聚类算法(五)总结
- 算法设计之五大常用算法设计方法总结
- 不创建系统保留分区
- C/S和B/S 以及初识Tomcat
- POJ 1470 Closest Common Ancestors 离线LCA
- Learning Python Part I 之 字符串
- 自己模拟strcpy库函数写的功能函数my_strcpy实现strcpy的功能,完整代码
- 算法总结五
- 快速排序
- R学习:通过REmap向Echarts中的地图写入数据(运行自带例子)
- 关闭windows的autoplay
- 单例模式的几种实现方式
- CS231n学习笔记--8.Deep Learning Software
- Linux之Shell脚本学习笔记
- 文件处理命令
- 基于Python单向链表实现尾部、任意位置添加,删除