0
点赞
收藏
分享

微信扫一扫

【左体系结构】789堆系列

醉东枫 2022-04-01 阅读 48
java

7.堆和堆排序

(1) 比较器

  • 重载运算符
    一个学生类按照年龄等排序。
    在这里插入图片描述在这里插入图片描述
  • 比较器可以用在有序表中
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

(2) 堆

  • PQ和heap实现一样
  • 数组变为完全二叉树:i的左孩子:2i+1,右孩子:2i+2,父节点:(i-1)/2
  • 堆是完全二叉树:大根堆、小根堆
    https://github.com/algorithmzuo/algorithmbasic2020/tree/master/src/class06

Q:如果一个正常的堆,中间的一个数值改变,如何调整为正常的堆?
A:先进行heapinsert() 再进行heapify() :向上看是否能够上移动,向下看是否能够下移(顺序可以调换)

(2) 堆排序

大根堆的根节点依次落到最后一个节点,剩余的节点调整为大根堆
在这里插入图片描述
在这里插入图片描述
创建一个size=k的小根堆,不断出不断加

8.加强堆

(1)

在这里插入图片描述
A:
开始位置 从小到大排序
小根堆存储结束位置的值

举报

相关推荐

0 条评论