我願意使用數據結構作爲恆定空間的溢出緩衝區。我想有效插入,但最重要的是有效去除最小元素。因爲我有O(log(n))find_min()和log(n)插入和刪除,所以我正在考慮使用堆。另一方面,我知道不理解與紅黑樹相比的優點,因爲它也有O(log(n))插入和刪除,而O(1)找到最小/最大。和排序輸出的優點(我不在乎)。堆或紅黑樹?
的問題是關於:Is a red-black tree my ideal data structure?
既然我都可以從性病::地圖和自boost ::堆結構的我爲什麼要喜歡使用堆,而不是紅黑樹的? 最後,使用紅黑樹我也有一個入口O(log(n))搜索時間,而堆的時間是O(n),這是重要的,因爲重複存在。
考慮環形緩衝區。不知道它是否適合您的使用。 –
[堆與二進制搜索樹(BST)]的可能重複(http://stackoverflow.com/questions/6147242/heap-vs-binary-search-tree-bst) –