查找||排序
文章平均质量分 82
crazyhacking
like a hacker
展开
-
快排的非递归算法
源地址:http://blog.sina.com.cn/s/blog_49458c270100nkm4.htmlhttp://hex.iteye.com/blog/777858算法之非递归的快速排序 (2010-12-11 20:32:40)转载▼标签: 算法 快速排序 非递归转载 2012-10-11 00:36:31 · 660 阅读 · 0 评论 -
查找之找出N个整数中最大的K个数
题目一:找出N个整数中第K大的数类似下边的类快排算法,递归实现,应该可以,需要验证一下。平均复杂度O(n).题目二:找出N个整数中最大的K个数两个比较好的解法:O(nlogk)1快排和递归【解法二】回忆一下快速排序,快排中的每一步,都是将待排数据分做两组,其中一组的数据的任何一个数都比另一组中的任何一个大,然后再对两组分别做类似的操作转载 2012-10-17 10:55:53 · 2319 阅读 · 0 评论 -
查找----二维数组的查找之杨氏矩阵
原帖在此;http://blog.csdn.net/michealmeng555/article/details/2489923算法研讨的论文【原创分享】杨氏矩阵 Young Tableau前几天算法课上老师提到了一个数据结构--Young Tableau,只是简单的提了一下,没有仔细的讲解,于是自己在网上搜集了一些资料,并且加以研究,感觉杨氏矩阵(Young Tableau)是一个很转载 2012-10-09 22:42:00 · 890 阅读 · 0 评论 -
排序2------计数排序,桶排序
稍后整理基数排序当输入的元素是 n 个 0 到 k 之间的整数时,它的运行时间是 Θ(n + k)。计数排序不是比较排序,排序的速度快于任何比较排序算法。由于用来计数的数组C的长度取决于待排序数组中数据的范围(等于待排序数组的最大值与最小值的差加上1),这使得计数排序对于数据范围很大的数组,需要大量时间和内存。例如:计数排序是用来排序0到100之间的数字的最好的算法原创 2012-10-09 22:35:37 · 711 阅读 · 0 评论 -
排序1---几种排序以及其时间复杂度
略有修改。原帖地址:http://blog.sina.com.cn/s/blog_771849d301010ta0.html快排,堆排序,归并排序比较重要。 1.选择排序:不稳定,时间复杂度 O(n^2) 选择排序的基本思想是对待排序的记录序列进行n-1遍的处理,第i遍处理是将L[i..n]中最小者与L[i]交换位置。这样,经过i遍处理之后,前i个记录的位置已经转载 2012-09-18 22:55:01 · 871 阅读 · 0 评论 -
和为N的连续正整数序列
题目输入一个正整数数N,输出所有和为N连续正整数序列。例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5、4-6和7-8。一种运用数学规律的解法假定有k个连续的正整数和为N,其中连续序列的第一个数为x,则有x+(x+1)+(x+2)+...+(x+k-1) = N。从而可以求得x = (N - k*(k-1)/2) /转载 2012-11-13 15:01:53 · 1788 阅读 · 0 评论 -
查找--第K大的元素
线性时间选择算法Selection in worst-case linear time 附代码线性时间内在n个元素中选择第i小的元素,递归算法如下:终止条件:n=1时,返回的即是i小元素。算法步骤:step1:将n个元素每5个一组,分成n/5(上界)组。step2:取出每一组的中位数,任意排序方法,比如插入排序。step3:递转载 2012-11-21 23:28:47 · 1041 阅读 · 0 评论