查找二叉树中根节点到叶子节点的所有路径: 本题有两种解法:递归解法和非递归解法,递归解法请参考:http://blog.csdn.net/booirror/article/details/47733175 该博主对递归算法的讲解不多,但是代码还是很容易看懂的。 刚刚又看到了一个代码写的更好、更简洁的 ...
分类:
其他好文 时间:
2016-09-18 23:48:50
阅读次数:
156
主要实现了冒泡排序、堆排序、归并排序、快速排序。其中归并排序、快速排序运用了递归算法。 冒泡排序:主要是用了双重循环,第一层循环控制整个排序的步长,第层循环在大于第一层循环的基础上从顺序表末端依次比较,将最小或者最大的数排到当前起一层循环的开始处。 堆排序 堆是具有下列性质的完全二叉树:每个节点的值 ...
分类:
编程语言 时间:
2016-09-16 21:12:59
阅读次数:
231
递归(recursion):程序调用自身的编程技巧。 递归满足2个条件: 1)有反复执行的过程(调用自身) 2)有跳出反复执行过程的条件(递归出口) 递归例子: (1)阶乘 n! = n * (n-1) * (n-2) * ...* 1(n>0) //阶乘 int recursive(int i) ...
分类:
编程语言 时间:
2016-09-15 11:09:29
阅读次数:
149
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 在某个项目中,发现当tree上加上checkbox后,初始化该树时会特别慢。现场树上的节点最深有三层,节点个数总和有200多个。经排查,为该tree的参数中开启了 ...
分类:
编程语言 时间:
2016-09-14 18:54:31
阅读次数:
172
1.通常递归所采用的数据结构?递归和循环的区别? ->采用的数据结构为:栈 ->(1)递归算法与循环算法的设计思路区别在于: 函数或算法是否具备收敛性,当且仅当一个算法存在预期的收敛效果时,采用递归算法才是可行的,否则,就不能使用递归算法。 (2)递归其实是方便了程序员难为了机器。优点就是易理解,容 ...
分类:
其他好文 时间:
2016-09-13 20:41:35
阅读次数:
168
效能分析:之前从来没有用工具测试过程序的性能,以前只对程序的性能在理论上分析过,什么时间复杂度,空间复杂度之类的。只对影响程序性能有很粗浅的认识。认为多重循环层数多了性能低,递归算法性能低。今天我实际用了vs2013的工具看了一下程序的性能。 本来我只有dev c++这种轻量级ide使用,性能分析这 ...
分类:
其他好文 时间:
2016-09-13 01:32:18
阅读次数:
104
void Merge(ElementType A[],ElementType Temp[],int Left,int Right,int RightEnd) { int temp,i, LeftEnd,count; LeftEnd=Right-1;// 超级错误 count=RightEnd-Lef ...
分类:
编程语言 时间:
2016-09-10 22:17:42
阅读次数:
165
1.递归执行过程 (1) 例子:求N!。 这是一个简单的"累乘"问题,用递归算法也能解决。 n! = n * (n - 1)! n > 1 0! = 1, 1! = 1 n = 0,1 因此,递归算法如下: Java代码 以n=3为例,看运行过程如下: fact(3) fact(2) fact(1) ...
分类:
其他好文 时间:
2016-09-10 22:10:57
阅读次数:
162
算法思想: 先假设length=1; 表示先将相邻的2个元素进行排序。A[0]与A[1],A[2]与A[3].............A[N-2]与A[N-1](N为偶数 假设) 然后length=2;A[0]A[1]是有序序列,与A[2]A[3] 进行2个有序序列的归并。 依次类推。 错误分析: ...
分类:
编程语言 时间:
2016-09-10 22:04:03
阅读次数:
140
一、分治法(递归算法) 说明:许多算法在结构上是递归的,为了解决某一问题,算法需要一次或多次递归的调用自身以解决紧密相关的若干子问题,这些算法遵循分治法的思想:将原问题分解为几个规模较小但类似于原问题的子问题,递归的求解这些子问题然后在合并这些子问题的解来建立原问题的解。 分治模式在每层递归时都有三 ...
分类:
编程语言 时间:
2016-09-08 14:32:29
阅读次数:
262