K选取问题

K-选取(K-selection)题目描述:

从一组无序数组中,找出第k大的元素。

即任意一组可比较大小的序列,找到从小到大次序为k的元素。如果把这组元素排序为S,那么S[k]就是秩为k的元素。

特例:最大值(n-1选取)、最小值(0-选取)、中位数查找(k = \perp n/2 \perp

中位数概念:有序序列S长度为n,S[\perp n/2 \perp]为中位数或者中值。

众数(majority):在无序向量中,若有一半以上的元素的值相同,为m,那么m就是此向量的众数

算法分析:

对于特例中位数选取,对序列排序,S[\perp n/2 \perp]为中位数。

若众数存在,那么此众数必然为中位数。

算法实现:

ins

 

算法分析:

算法分析
算法名称 时间复杂度(平均) 时间复杂度(最坏) 时间复杂度(最好) 空间复杂度
         

你可能感兴趣的:(算法_Algorithm)