初始化 
方法1:插入法: 
  从空堆开始,依次插入每一个结点,直到所有的结点全部插入到堆为止。 
  时间:O(n*log(n)) 
  方法2:调整法: 
    序列对应一个完全二叉树;从最后一个分支结点(n div 2)开始,到根(1)为止,依次对每个分支结点进行调整(下沉),
以便形成以每个分支结点为根的堆,当最后对树根结点进行调整后,整个树就变成了一个堆。 
  时间:O(n) 
对如图的序列,要使其成为堆,我们从最后一个分支结点(10/2),其值为72开始,依次对每个分支节点53,18,36 45进行调整(下沉). 
初始化为大顶堆 
初始化为大顶堆 
初始化为大顶堆

 

调整为大顶堆到此结束(小顶堆亦是如此),千万不要把堆排序的部分和这部分混为一谈(我就是先看的堆排序再学习的初始化为大顶堆)

相关文章:

  • 2021-07-31
  • 2021-11-21
  • 2021-12-30
  • 2021-10-20
  • 2022-12-23
  • 2021-12-10
  • 2022-12-23
猜你喜欢
  • 2021-12-24
  • 2022-12-23
  • 2021-06-20
  • 2021-10-16
  • 2021-08-19
  • 2022-03-06
相关资源
相似解决方案