由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - top k 用 heap 还是quick selection?
相关主题
问个题菜鸟向大家请教个面试题
An interview question of finding the median in a moving window.问一个时间复杂度的问题,数组里取k个最大数
Top K in N sorted array刚看到的一道google面试题
sliding windows中维持topk频繁的queryGoogle phone interview
median of K sorted array找第K个最小的元素
一道小题G家电面(已挂)
大文件找median问两道google onsite的题, 请大牛指点啊。。
Quick selection for k unsorted arrays问大家一个cpp中function pointer的问题
相关话题的讨论汇总
话题: heap话题: selection话题: quick话题: top
进入JobHunting版参与讨论
1 (共1页)
b*********e
发帖数: 51
1
请问:既然quick selection 理论上证明是linear,比heap selection快。那为什么
top k 的问题都用heap 呢?
按理说应该用最快的quick selection啊。
n*****x
发帖数: 686
2
我的理解是quick selection只能handle有限集合,heap可以搞stream

【在 b*********e 的大作中提到】
: 请问:既然quick selection 理论上证明是linear,比heap selection快。那为什么
: top k 的问题都用heap 呢?
: 按理说应该用最快的quick selection啊。

h*********n
发帖数: 11319
3
巧了,我今天就被问了这个,我先用了heap然后让我写quick select没写出来
真丢人

【在 b*********e 的大作中提到】
: 请问:既然quick selection 理论上证明是linear,比heap selection快。那为什么
: top k 的问题都用heap 呢?
: 按理说应该用最快的quick selection啊。

a********m
发帖数: 15480
4
硬写quick select?那不丢人吧。。。。

【在 h*********n 的大作中提到】
: 巧了,我今天就被问了这个,我先用了heap然后让我写quick select没写出来
: 真丢人

y*******a
发帖数: 138
5
理论上同是O(N),但用heap的结果似乎要快一点?没懂

【在 b*********e 的大作中提到】
: 请问:既然quick selection 理论上证明是linear,比heap selection快。那为什么
: top k 的问题都用heap 呢?
: 按理说应该用最快的quick selection啊。

L***s
发帖数: 1148
6
生背下来就好了…… 现场写容易搞错边界

【在 a********m 的大作中提到】
: 硬写quick select?那不丢人吧。。。。
L***s
发帖数: 1148
7
求 K-largest from N elements:
若用 MinHeap of size K,空间 O(K),
时间:平均和最坏都是 O(N logK),若要排序输出再加 O(K logK)。
若用 QuickSelect,空间 O(N),
时间:平均O(N),最坏O(N^2),不用再排序,因为已经在最右端排好了。
如果 N 非常大,或者是不确定长度的流,当然还是用 heap。
s****z
发帖数: 11
8
用median of median的quickselect就是O(N),不用平均

【在 L***s 的大作中提到】
: 求 K-largest from N elements:
: 若用 MinHeap of size K,空间 O(K),
: 时间:平均和最坏都是 O(N logK),若要排序输出再加 O(K logK)。
: 若用 QuickSelect,空间 O(N),
: 时间:平均O(N),最坏O(N^2),不用再排序,因为已经在最右端排好了。
: 如果 N 非常大,或者是不确定长度的流,当然还是用 heap。

W***o
发帖数: 6519
9
quickselect 是 in-place的,咋还算空间 O(N) ? 难道是算input的那个array 空间?

【在 L***s 的大作中提到】
: 求 K-largest from N elements:
: 若用 MinHeap of size K,空间 O(K),
: 时间:平均和最坏都是 O(N logK),若要排序输出再加 O(K logK)。
: 若用 QuickSelect,空间 O(N),
: 时间:平均O(N),最坏O(N^2),不用再排序,因为已经在最右端排好了。
: 如果 N 非常大,或者是不确定长度的流,当然还是用 heap。

m**c
发帖数: 22
10
深入点,我会考怎么lock-free并行。
1 (共1页)
进入JobHunting版参与讨论
相关主题
问大家一个cpp中function pointer的问题median of K sorted array
Two-Sigma面经一道小题
也上一道算法题了(俺的版权了:))大文件找median
Amazon电面面经Quick selection for k unsorted arrays
问个题菜鸟向大家请教个面试题
An interview question of finding the median in a moving window.问一个时间复杂度的问题,数组里取k个最大数
Top K in N sorted array刚看到的一道google面试题
sliding windows中维持topk频繁的queryGoogle phone interview
相关话题的讨论汇总
话题: heap话题: selection话题: quick话题: top