索引堆

索引堆

一、什么是索引堆?

索引堆(Index Heap)是二叉堆的一个变种,是二叉堆的一种增强。

相比于二叉堆只能访问堆顶元素,索引堆可以通过索引访问堆中的任意元素。

比如下面的索引堆:

1
2
3
4
5
      1(30)      
/ \
4(28) 3(16)
\ /
5(22) 2(12)

除了可以直接访问堆顶元素 30,还可以通过索引访问其他元素: