根据我的理解,
二进制堆(数据结构)用于表示优先级队列ADT。它是一个完全满足堆属性的二叉树。
堆属性-如果A是B的父节点,则节点A的键(值)相对于节点B的键进行排序,并在堆中应用相同的顺序。
首先,它帮助我记住术语堆,如果将这个数据结构命名为堆是有原因的。因为,我们还使用了堆内存这个术语。
“堆”的字典意思--乱七八糟地堆起来的东西。
问题,
在学习了Reb树和AVL树数据结构之后,
为什么我们要考虑新的数据结构(二进制堆)?
二进制堆是否解决了红黑或AVL树不适合的一组问题?
发布于 2016-12-23 04:48:55
二进制堆和红黑树之间的主要区别在于某些操作的性能。
二进制堆
优点
O(1)访问时间,因此不需要搜索它。O(1),O(log(n))最坏的情况)。缺点
RB树
优点
缺点
应该注意的是,RB树也可以做出很好的调度器,例如LinuxKernelv2.6中引入的完全公平调度。
https://stackoverflow.com/questions/41295229
复制相似问题