首先我来和大家一起了解一下堆的一些问题。堆是一个非常实用的数据结构,在一些算法的优化和一些高级数据结构上都能用到堆。比如优先队列、hash_map、迪杰斯特拉算法(最短路的优化)等等,所以我们大家学好堆是有必要的,对我们学习高深的一些算法和数据结构非常的有用。 我所知道的堆有已下几种:二叉堆(就是我们平常说的堆)、二项堆、斐波那契堆;其中后者都是前者的优化。今天呢,由于我的水平有限,只能和大家一起探讨一下二叉堆了。 二叉堆堆的一些基本知识 二叉堆是一种特殊的堆,二叉堆是完全二叉树或者是近似完全