[理工] 資結 Fibonacci heap

作者: gary19941208   2016-08-20 12:21:34
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)的次數好像差不多?
謝謝!
作者: krusnoopy (push)   2016-08-20 13:34:00
fib heap是只有在delete min才需要合併 插入應該不用我查了,的確只要在刪除才要合併所以O(1)
作者: gary19941208   2016-08-20 19:31:00
感謝!
作者: FRAXIS (喔喔)   2016-08-20 21:45:00
插入 amortized O(1) 是因為 O(lg n) 的情況不常出現
作者: krusnoopy (push)   2016-08-20 21:52:00
sorry我剛剛講的是資結版..
作者: gary19941208   2016-08-20 22:55:00
我看演算法的原文書他插入也沒有合併欸....
作者: krusnoopy (push)   2016-08-20 23:15:00
哈哈我回家之後也看到了
作者: gary19941208   2016-08-21 08:55:00
感覺演算法的和資結的是一樣的...?演算法也是有minpointer
作者: krusnoopy (push)   2016-08-21 23:31:00
那應該只有binomial heap不一樣,資結版才可以把fib heap定義在binomail heap上面

Links booklink

Contact Us: admin [ a t ] ucptt.com