百度百科中写道“最小堆,是一种经过排序的完全二叉树,其中任一非终端节点的数据值均不大于(或不小于)其左孩子和右孩子节点的值。”
但是当尝试用C++写一个堆的时候,首先想到的事定义叶子节点,根节点等,但是,在堆中并不需要定义这些,也就是说,堆的实现与树的实现并没有什么关系,实现堆只需要一个队列即可。在队列中通过下标操作寻找父节点、左孩子和右孩子。
堆只是一种抽象的结构,一种对数据的处理方法,实际上数据是存储在一个队列里面的。
堆
最新推荐文章于 2020-02-04 15:37:59 发布