看板 Grad-ProbAsk 關於我們 聯絡資訊
http://i.imgur.com/BlULJjM.jpg 答案有給C選項 Fibonacci heap的insert和Binomial heap的insert一樣 如果是資料結構版本的話是O(1) 演算法版本的話在merge的地方是O(log n),但是如果原本沒有高度1的binomial tree, 那insert時做的merge就不會有高度相同需要合併,所以是O(1),洪逸上課時說分攤成本 是O(1),這樣的話答案是錯了嗎? 另外想請問分攤成本O(1)怎麼知道的,兩次插入不就會有一次merge需要O(log n)這樣O(1 )和O(log n)的次數好像差不多? 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.25.105 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1471666896.A.E45.html
krusnoopy: fib heap是只有在delete min才需要合併 插入應該不用 08/20 13:34
krusnoopy: 我查了,的確只要在刪除才要合併所以O(1) 08/20 13:36
gary19941208: 感謝! 08/20 19:31
FRAXIS: 插入 amortized O(1) 是因為 O(lg n) 的情況不常出現 08/20 21:45
krusnoopy: sorry我剛剛講的是資結版.. 08/20 21:52
gary19941208: 我看演算法的原文書他插入也沒有合併欸.... 08/20 22:55
krusnoopy: 哈哈我回家之後也看到了 08/20 23:15
gary19941208: 感覺演算法的和資結的是一樣的...?演算法也是有min 08/21 08:55
gary19941208: pointer 08/21 08:55
krusnoopy: 那應該只有binomial heap不一樣,資結版才可以把fib hea 08/21 23:31
krusnoopy: p定義在binomail heap上面 08/21 23:31