看书、思考、写代码!!!
/*********************************
* copyright@hustyangju
* blog: http://blog.csdn.net/hustyangju
* 题目:快速排序和随机快速排序
* 思路:采用分治+原址排序,分裂函数将区间分为三个子区间:主元区间,再在主元旁边的两个子区间递归调用排序
* 分裂函数一...
分类:
编程语言 时间:
2014-11-21 16:13:23
阅读次数:
188
【面试题030】最小的k个数题目: 输入n个整数,找出其中最小的k个数。
例如输入4、5、1、6、2、7、3、8这8个字,则其中最小的4个数字是1、2、3、4。思路一:
可以同样的基于随机快速排序的Partition函数,来对数组做划分, 基于k来作调整,返回调用Partition函数,直到...
分类:
其他好文 时间:
2014-05-27 02:04:02
阅读次数:
287
快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。
快速排序的优点:
(1)原址排序,空间复杂度较小。
(2)虽然最坏情况下(有序数组)...
分类:
其他好文 时间:
2014-05-09 13:50:58
阅读次数:
283