算法
shadou0109
这个作者很懒,什么都没留下…
展开
-
快速排序的递归与非递归实现
快速排序的非递归实现 首先说明一下快速排序是对冒泡排序的改进。为什么这么说呢?想一下冒泡排序,它把序列分成了两部分,前半部分无序,后半部分升序排列,并且后半部分的数都大于前半部的数。 由此可得到快速排序和冒泡排序的一些共同点: 都要经历n趟排序每趟排序要经历O(n)次比较都是后半部分元素比前半部大 而不同之处就在于冒泡排序的交换操作发生相邻的元素之间,即一趟排序可以要经过多次交转载 2013-01-01 00:14:18 · 773 阅读 · 0 评论 -
瓶颈算法
对于图中任意一条路径,瓶颈值(bottleneck cost)是该路径上最小的边值。如图路径EDB的瓶颈值是23,EDCAB的瓶颈值是10。最大瓶颈问题则是要找出给定两点间包含最大瓶颈值的那条路径,例如EB之间的最大瓶颈是EDB。同理,亦可定义类似的最小瓶颈....问题 解答: http://eol.bjut.edu.cn/BBS/bbsuploadfile/200506/6512.pdf转载 2013-01-01 00:21:01 · 1507 阅读 · 0 评论 -
归并排序--MergeSort
归并排序思想:递归地将排序的链表从中间分开,前半部分排好序,后半部分排好序,然后将这排好的两部分归并为一个有序数组。 程序划分:1)对外提供一个接口,即MergeSort();函数调用递归处理函数进行处理并排序 2)MSort()函数对输入链表进行递归排序,递归终止条件是当前无法再分半(即前面指针和后面指针指向同一个地方),需要一个临时数组变量TR2来存放排序后的数据。 在排完序后调用Me转载 2013-01-02 22:51:10 · 531 阅读 · 0 评论