Java 期望为线性时间的选择算法
来源:互联网 发布:新西兰导航软件mate 编辑:程序博客网 时间:2024/04/27 20:38
选择数组中最大值的算法的时间复杂度为O(n-1);
选择数组中最小值的算法的时间复杂度为O(n-1);
但是同时选择最大值和最小值的时间复杂度为O(3n/2);
在数组中选择第i小得数算法的期望时间为线性
算法采用快速排序核心思想
public int select(int[] array, int sta, int end,int index){// index 要查找第index 小得值 if(sta == end) return array[sta]; int q = partition(array,sta,end) ; int k = q - sta + 1; if(k == index) return array[q]; else if(index < k) return select(array, sta, q-1, index); else return select(array, q+1, end, index - k); }
partition 函数,请参照
Java 排序之 快速排序文章;
http://blog.csdn.net/alvintech14/article/details/38403753
0 0
- Java 期望为线性时间的选择算法
- 期望为线性时间的选择算法
- 期望时间为线性时间的选择算法(C++)
- 期望为线性时间选择算法
- 期望为线性时间的选择算法randomizedSelect
- CLRS 9.2期望为线性时间的选择算法
- 期望为线性时间的选择算法(c语言)
- 选择问题的线性期望时间算法
- 期望为线性的选择算法
- 算法导论程序19-期望为线性时间的选择算法(Python)
- 小白进阶之期望为线性时间的选择算法
- 算法导论:第9章 中位数和顺序统计量_1期望为线性时间的选择算法
- 期待为线性时间的选择算法
- 期望线性时间选择
- 算法之分治——期望线性时间的选择(基础版本的选择)
- 算法--顺序统计-期望线性时间做选择
- 最坏情况为线性时间的选择算法
- CLRS 9.3最坏情况为线性时间的选择算法
- SVN服务器搭建和使用(一)
- wmpnetwk.exe怎么禁启动
- 关于MySQL与SQLLite的Group By排序原理的区别
- Spring中配置数据源
- 第158天
- Java 期望为线性时间的选择算法
- 小算法大世界之冒泡排序VS选择排序
- 037:hibernate一对一双向外键关联(Annotation)
- codeforce C. Valera and Elections (DFS)
- oracle分区表彻底删除的办法
- HDU_1846 Brave Game
- MFC获取文件大小方法
- Hbase 数据导出到文件中
- poj1535(最短路)