在学习计算机编程的时候,堆栈是我们最经常使用到的概念,也是2种最基本的内存管理方式。可是在数据结构算法也有一个堆,还有叫二叉堆的。数据结构中的堆和二叉堆是同一个概念,它们和内存管理中的堆没有任何关系。 堆(heap)这个叫法最早还是用在数据结构中,比用在内存管理的时间早。为了区别说法,本文我们称前者是二叉堆,后者叫内存堆。 内存堆通常和栈出现在一起叫内存堆栈: 二叉堆满足以下条件: 二叉堆看着是二叉树,实际上在存储中还是使用数组,由于是全二叉树,子节点可以通过2k和2k + 1来定位。 https://www.jianshu.com/p/00fac80c1b25内存堆
二叉堆
参考
https://writings.sh/post/data-structure-heap-and-common-problems