堆,有些时候又叫优先队列(此说法欠严谨),是一种常见的逻辑结构。
名字反映了这种结构的两个特点:
- 整体看,它是一种金字塔形堆叠结构,下层元素数量比上层多;
- 纵向看,它由一条条有序列汇流而成,每个元素其实不关心其横向关系。
1 1 1 1 1 1 1
/ \ | | | | | |
2 5 <=> 2 2 2 5 5 5
/ \ / \ | | | | | |
5 4 6 8 5 5 4 6 8 8
/ \ / \ / \ / \ | | | | |
9 7 6 9 8 9 7 6 9 8