帮忙解释一些堆的数据结构!

2024-12-27 03:28:43
推荐回答(1个)
回答1:

结构上都是二叉树,不过它们维护的性质(invariant)不一样
以最小堆为例,维护的是每个节点都比自己的子节点要小
而排序树维护的是,一个节点大于自己的左子树,小于自己的右子树

所以堆适合于快速的拿到集合中的最值(最大或者最小),排序树适合快速查找