选取第(或前)k大(小)的元素

  • 建立大小为k的最小堆O(nlogk)
    • 当元素t<=堆顶, 抛弃之
    • 当元素t>堆顶,  插入堆
  • 利用计数或基数排序
    • O(n + k), 常数项不可控
  • 快速排序O(nlogn)
    • 中位数之中位数, 与划分结合

posted on 2012-03-14 10:03  aho  阅读(184)  评论(0编辑  收藏  举报

导航