相关疑难解决方法(0)

堆与二进制搜索树(BST)

堆和BST有什么区别?

何时使用堆以及何时使用BST?

如果你想以排序的方式获取元素,BST是否优于堆?

algorithm heap binary-tree binary-search-tree

158
推荐指数
4
解决办法
9万
查看次数

堆或红黑树?

我愿意使用数据结构作为常量空间的溢出缓冲区.我希望有效插入,但最重要的是有效去除min元素.我正在考虑使用堆,因为我有O(log(n))find_min()和log(n)插入和删除.另一方面,我知道不了解与红黑树相比的优势,因为它也有O(log(n))插入和删除但O(1)找到最小/最大.并排序输出的优势(我不关心).

问题与:红黑树是我理想的数据结构吗?

由于我从std :: map和boost :: heap可以获得这两个结构,为什么我更喜欢使用堆而不是红黑树呢?最后,使用红黑树我也有一个条目的O(log(n))搜索时间,而对于一个堆,时间是O(n),这是重要的,因为存在重复.

c++ algorithm red-black-tree binary-heap data-structures

10
推荐指数
2
解决办法
3096
查看次数