顺序统计之选择第i小的数
来源:互联网 发布:白人女友啪啪 知乎 编辑:程序博客网 时间:2024/06/08 14:14
package liner_sort;public class SelectTopK {public static int select(int A[],int p,int r,int i){if (p==r) {return A[p];}int q=partition(A, p, r);int k=q-p+1;if (i==k) {return A[q];}else if (i<k) {return select(A, p, q-1, i);}else {return select(A, q+1, r, i-k);}}public static int partition(int A[],int p,int r)//快速排序中的划分{int x=A[r];int i=p-1;int tmp=0;for (int j = p; j < r; j++) {if (A[j]<=x) {i=i+1;tmp=A[i];A[i]=A[j];A[j]=tmp;}}tmp=A[i+1];A[i+1]=A[r];A[r]=tmp;return i+1;}public static int[] randomArray(int n)//产生随机数组{int A[]=new int[n];for (int i = 0; i < n; i++) {A[i]=(int) (Math.random()*10000);}return A;}public static void main(String[] args) {int A[]=randomArray(5000);System.out.println(select(A, 0, A.length-1, 4999));}}
0 0
- 顺序统计之选择第i小的数
- 《算法导论》CLRS算法C++实现(九)P109 选择数组中第i小(大)的数 顺序统计量
- 在数组中选择第i小的数
- 《对寻找第i个顺序统计的数》一文的研究。
- 【算法导论】线性时间选择---从数组中选择第i小的数
- 顺序统计量——求集合中第i小的元素
- 顺序统计量——求集合中第i小的元素 收藏
- 算法导论-顺序统计-快速求第i小的元素
- 选择第i小的元素
- 第九章中位数和顺序统计学 之 “寻找第i小元素之最坏情况线性时间的选择 最坏运行时间就为O(n)算法”
- 寻找第i小的数
- 算法--选择第K小的数
- 分治法之线性选择第i小元素
- 随机选择(求中位数,第i 小的元素)
- 算法导论CLRS 9.2 选择第i小的元素
- 顺序统计量的选择
- 寻找数组中第i小的数(C++)
- 快速选择——寻找第k小的数
- C++析构函数
- 在GT2440开发板上运行一个简单的c程序
- Windows下Eclipse的Tomcat插件安装
- MySql的中文识别问题
- java实现多线程下载
- 顺序统计之选择第i小的数
- IDEA如何查看MAVEN依赖关系
- online_judge_1205
- 2015Mar捉比赛&题目
- 关于单调栈!!poj2796小议
- 完美解决:Apache启动问题—(OS 10022)提供了一个无效的参数
- js的BOM对象完全解析
- ACM学习感悟——HDU257 HOW TO TYPE
- 语言与模式-01单例模式