算法 之 堆 - 简介

在许多算法中,需要支持下面两种元素运算的数据结构:插入元素和寻找最大值元素。支持这两种运算的数据结构称为优先队列。 如果使用普通队列,那么寻找最大元素需要搜索整个队列,开销比较大;如果采用排序数组,那么插入运算就需要移动很多元素,开销也会比较大。优先队列的有效实现是使用一种称为堆的简单数据结构。   一个(二叉)堆是一个几乎完全的二叉树,它的每个节点都满足堆的特性:如果v和p(v)分别是节点和它的
相关文章
相关标签/搜索