算法-寻找顺序统计量

结论

假设所有元素都是互异的,使用RANDOMIZED-SELECT算法可在期望为线性时间内找到任一顺序统计量,特别是中位数。

RANDOMIZED-SELECT算法

RANDOMIZED-SELECT(A, p, r, i)
  if  p == r
      return A[p]
  q = RANDOMIZED-PARTION(A, p, r)
  k = q - p +1
  if i == k
    return A[q]
  else if i < k
    return RANDOMIZED-SELECT(A, p, q-1, i)
  else 
    return RANDOMIZED-SELECT(A, q+1, r, i-k)

预备知识:指示器随机变量
证明:
待补

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容