这个题的意思就是给定一个序列,判断这个序列是否是某个二叉排序树的后序遍历序列,这个算法的方法主要是根据后序遍历的性质,首先这个序列的最后一个元素肯定是根元素,然后将序列从左往右遍历,找到第一个大于根元素的点,这个点左边的肯定是当前根的左子树,这个点的右边肯定是当前根的右子树,继续向后遍历,看右子.....
分类:
其他好文 时间:
2014-06-26 00:18:44
阅读次数:
280
前/中/后缀表达式的转换 自然表达式转换为前/中/后缀表达式,其实是很简单的。首先将自然表达式按照优先级顺序,构造出与表达式相对应的二叉树,然后对二叉树进行前/中/后缀遍历,即得到前/中/后缀表达式。 举例说明将自然表达式转换成二叉树: a×(b+c)-d ① 根据表达式的优先级顺序,首先计算(b+...
分类:
其他好文 时间:
2014-06-26 00:03:03
阅读次数:
269
原文:06. 父子节点(树)遍历写法小结对于树/图的遍历,通常有2种算法来实现:迭代(Iteration)和递归(Recursion),迭代是利用循环反复取值/赋值的过程;递归则是反复自己调用自己来获得最终结果。SQL Server里的递归有32层嵌套限制,目的在于防止代码进入死循环,除非使用提示O...
分类:
其他好文 时间:
2014-06-25 23:44:46
阅读次数:
276
1时间复杂度分析由于该图采用邻接矩阵存储,整个算法遍历的过程所花费的时间复杂度为该矩阵的N(row*col)。而由于其需要分别访问已经定位,需要进行分别2次操作,如下:visited=newbool[col*row];//访问标记for(i=0;i#include#include#include#i...
分类:
其他好文 时间:
2014-06-25 22:11:11
阅读次数:
235
迭代器是一种检查容器内元素并遍历元素的数据类型。...
分类:
编程语言 时间:
2014-06-25 00:01:53
阅读次数:
226
//前向星是将所有的边进行编号,每个节点u的边集合通过head[u]来找到u的第一条边,//再通过next[head[u]]依次遍历节点u的所有边。int head[maxn]; int to[maxn*2];int next[maxn*2];int cnt = 0;//边的编号 memset(h....
分类:
其他好文 时间:
2014-06-24 22:08:22
阅读次数:
164
一、什么是优先队列?
看一情景:我们去KTV唱歌,点歌的时候,可以发现所点的歌就是一个队列。
这时候,一个MM突然不玩手机了想唱歌,于是她来点歌,并且想尽早轮到她。
于是她可以选择“插歌”这个功能插到前排队列里。
这种具备可以插入优先权元素的队列,就叫优先队列。但是,这个定义不是严谨的。
优先队列的基本模型是这样的——
具备两个功能:
insert插入;
dele...
分类:
其他好文 时间:
2014-06-24 21:41:44
阅读次数:
182
最近突发奇想,希望能写一个通用的代码分析工具(有点言过其实了,其实是针对C代码的)。这几天看代码看的我头晕眼花,虽然有Source Insight的帮助,仍然觉得很多地方不够智能。现在主要遇到的问题有以下几个:
1,很多函数被定义为宏,然后被调用。这个就需要自己搜索到相应的定义,然后再去寻找调用处。
2,程序的结构中很多用到有限状态机,函数会被放到数组中。会遇到和上面同样的问题。
3,现有的...
分类:
其他好文 时间:
2014-06-24 20:07:07
阅读次数:
166
最近温习了下angularjs运行流程,备记下。以便查看。
基本的运行流程如下:
1.用户请求应用起始页。
2.用户的浏览器向服务器发起一次HTTP连接,然后加载index.html页面,这个页面里面包含了模板。
3.angular被加载到页面中,等待页面加载完成 ,然后查找了ng-app指令,用来定义模板边界。
4.angularjs遍历模板,查...
分类:
Web程序 时间:
2014-06-24 18:55:42
阅读次数:
203
题目:输入一个整数数组,判断该数组是不是某个二叉搜索树的后序遍历序列假设输入的数组的数字均不相同解题分析:对于二叉搜索树,中序序列一定是升序的,我们将后序遍历序列排序,结果即为 中序遍历序列如果该后序遍历序列是正确的,那么 由 中序遍历序列和后序遍历序列 一定可以构建一棵二叉树如果不能成功构建一棵二...
分类:
其他好文 时间:
2014-06-24 14:10:18
阅读次数:
166