推 LPH66: 我不同意 BST 可以取代 heap; 就拿這題的 binomial heap 11/30 09:12
→ LPH66: 來說, 它提供了 O(log n) 合併兩個 heap 的操作 11/30 09:12
→ LPH66: 這是 BST 無法達成的 11/30 09:13
→ LPH66: 另外實務上沒人用這句話我想打個問號 11/30 09:16
→ LPH66: priority queue 這種資料結構就我所知底層都是 heap 11/30 09:17
→ LPH66: 甚至 C++ STL 有 make_heap push_heap pop_heap sort_heap 11/30 09:18
→ LPH66: 這都是標準的 binary heap 的操作 11/30 09:18
推 hcsoso: 不過的確就算以學習理論的角度而言, binomial跟Fibonacci 11/30 12:26
→ hcsoso: heaps為了達成deterministic而使證明複雜的代價太大了. 11/30 12:27
→ hcsoso: 稍微引入一點隨機性就可以教treap了, 更別說它跟quicksort 11/30 12:28
→ hcsoso: 的緊密關聯... 11/30 12:28
→ DJWS: @LPH66 合併兩個heap,現實世界哪裡在使用,請你舉個實例 11/30 18:14
→ DJWS: 有一種 bst 叫做 splay tree,合併操作均攤 O(log n) 11/30 18:29
^^^^^^^^ 錯了 當我沒說 XD
推 pr3pony: binary heap 常數會比 bst 小吧 11/30 23:22
→ pr3pony: 我覺得這樣就算有實用價值了 11/30 23:23
→ DJWS: 樓上可能不知道"常數"是中國競賽選手自創詞彙 工程師討論 12/01 04:31
→ DJWS: 這種事情時所用的詞彙叫做benchmark 12/01 04:31
→ DJWS: 另外 除了程式語言內建的binary heap以外 真實世界哪裡在 12/01 04:38
→ DJWS: 使用binary heap 歡迎大家舉個實例 12/01 04:38
※ 編輯: DJWS (118.167.31.208), 12/01/2017 06:03:51
推 pr3pony: constant factor 這詞演算法課本也有提到 12/01 10:05
我記下來了 謝謝
→ pr3pony: 我有找到 splay tree union 均攤 O(log n) 的論文耶 12/01 10:09
→ DJWS: binomial heap 總共 O(log n) splay tree 總共 O(n log n) 12/01 17:40
→ DJWS: 雖然均攤 O(log n),但是根本就沒有比較意義,所以當我沒說 12/01 17:42
※ 編輯: DJWS (220.137.8.154), 12/01/2017 17:43:22
推 oToToT: binary search tree跟heap寫起來難度差那麼多... 12/09 00:35
→ DJWS: compiler = 100 bst = 2 heap = 1 似乎是比較難沒錯啦 12/09 07:33
推 Arton0306: 我做的是eda中physical design裡面的p&r tool 01/02 23:35
→ Arton0306: 我們的code就有heap 而且是自己寫的 01/02 23:36
→ DJWS: 那請教你,輸入資料數量多大? 01/12 15:04
→ DJWS: 還有就是,是什麼任務需要即時得知最小值? 01/12 15:07