摘要: 最近看了一些递归的例子,发现调用递归之前的语句和递归之后的语句执行顺序是正好相反的,这是给我的最大感受,具体看如下例子/*递归例子*/#include<stdio.h>void up_and_down(int);int main(void){ up_and_down(1); return 0;}void up_and_down(int n){printf("Level %d:n location %p\n",n,&n); /* 1 */if(n<4)up_and_down(n+1);printf("Level %d:n location 阅读全文
posted @ 2013-04-23 17:47 l_k_y 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 归并排序:是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。排序基本思想是: 将序列每相邻两个数字进行归并操作(merge),形成floor(n/2)个序列,排序后每个序列包含两个元素,将上述序列再次归并,形成floor(n/4)个序列,每个序列包含四个元素,重复步骤2,直到所有元素排序完毕 速度仅次于快速排序,为稳定排序算法,一般用于对总体无序,但是各子项相对有序的数列归并排序比堆排序稍微快一点,但是需要比堆排序多一倍的内存空间,因为它需要一个额外的数组稳定 时间复杂度O(nlogn) n大时较好 Ja... 阅读全文
posted @ 2013-04-23 13:40 l_k_y 阅读(143) 评论(0) 推荐(0) 编辑