看板 Grad-ProbAsk 關於我們 聯絡資訊
True or False: Searching for a key in a heap takes worst-case time O(n) True.... 為什麼是O(n)?? 有大大可以解釋一下嗎?? 我看search都是O(1)..... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 223.141.91.82
QQprob:search應該只要O(logn)吧?! 就tree height 09/08 08:02
FRAXIS:heap存的時候又不像binary search tree一樣很有次序.. 09/08 08:08
QQprob:贊同樓上 09/08 13:50
FRAXIS:Search是O(n).. 09/08 20:14
jim055006:那是如何算出O(n)?..是以建立Heap來算的嗎? 09/08 20:47
jackbll:找最大或最小才是O(1)吧 他指說找一個key可能是heap中的任 09/08 21:18
jackbll:何值 所以最糟就是traverse 整個n個元素的heap了才找到 09/08 21:20
jackbll:就如同F大說的heap只有最大最小放在最上面 其他都是散亂的 09/08 21:22
jim055006:樓上講解的真是詳細...太感謝你了!! 09/08 22:27
vanillaXleft:if heap is skewed , it takes O(n) time 09/13 13:13
FRAXIS:如果是一般的min-heap 應該是不可能skew的.. 09/14 22:10
sneak: 就如同F大說的heap https://daxiv.com 09/11 14:30