[英]O(k) algorithm to find kth min element from a min heap
o(klogn)解決方案對於找到第k個最小值非常簡單。這里的O(klogk)時間算法是從二進制堆中找到第k個最小元素的一種方法是O(klogk)解決方案。 但是我在想一種算法,如果正確的話可能是o(k)。 從min堆中,獲取前k個元素(前k個節點,遍歷wise)並將其存儲在數組中。現在max將此數組自下而上進行最大堆,這將花費o(k)時間。此堆的根是所需的答案。誰能看到該算法的缺陷?
考慮這個例子
1
2 11
3 4 12 13
如果要獲取第3個min元素,則它將不在第3個第一個節點中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.