网易首页 > 网易号 > 正文 申请入驻

图解堆排序(一)什么是堆和堆的性质

0
分享至

1. 引言

堆排序(Heap Sort)是一种非常高效的排序算法,堆(Heap)是一种数据结构,堆排序主要就是利用堆来进行排序;它是一种不稳定的排序算法。罗伯特·弗洛伊德和J·威廉姆斯于1964年共同发明了堆排序算法,其中的罗伯特·弗洛伊德是1978年的图灵奖得主。

为了不让本文篇幅过长,我们将该系列文章分为三篇:第一篇讲解什么是堆以及堆的性质,第二篇讲解堆的基本操作,第三篇讲解完整的堆排序;这是其中的第一篇。

2. 什么是堆

堆这种数据结构必须满足两个条件:

1. 堆首先必须是一棵完全二叉树;

2. 这棵完全二叉树中,任意一个结点的值都大于等于它的左右孩子结点的值,这样的堆称为大顶堆(也叫最大堆,Max-Heap);或者任意一个结点的值都小于等于它的左右孩子结点的值,这样的堆称为小顶堆(也叫最小堆,Min-Heap)。

图1直观展示了堆,其中左边为大顶堆、右边为小顶堆。

图1 堆的结构:大顶堆和小顶堆

我们可以将一个堆存储在一个序列(数组)中,首先在堆中按照从上至下和从左至右的顺序为每个结点编号。结点编号从0开始,每个结点的编号就是它在序列中对应的下标。图2展示了如何将图1中的大顶堆存储到序列中,其中结点下面的数字表示该结点的编号。

图2 用序列存储堆

3. 堆的性质

为了加深对堆和堆排序算法的理解,这里总结了几条堆的性质。当按升序(从小到大)排序时,堆排序主要使用大顶堆;而使用降序(从大到小)排序时,堆排序主要使用小顶堆。我们以升序排序的方式讲解堆排序,降序排序的方式是类似的。所以下面这些性质其实是大顶堆的,但是小顶堆也有相同或相似的性质。这些性质都非常的简单,甚至是一目了然的。

1. 编号为 i 的结点(叶结点除外,因为它们没有孩子结点),它的左右孩子的编号分别为 2i+1 和 2i+2。比如结点1,它的左孩子的编号为2*1+1=3,而右孩子的编号为2*1+2=4。

2. 编号为 i 的结点(根结点除外,因为它没有父结点),它的父结点的编号为 ⌊(i - 1) / 2⌋;其中⌊⌋表示向下取整,⌊x⌋是小于等于x的最大整数。比如结点4,它的父结点的编号为⌊(4-1)/2⌋ = ⌊1.5⌋ = 1。

3. 有n个结点的堆,它的深度为⌊log2(n)⌋+1;比如图2中的大顶堆有9个结点,它的深度为4,满足4=⌊log2(9)⌋+1。

4. 一个堆的第i层最多有2^(i-1)个结点;比如图2中的大顶堆的第3层共有4个结点,满足4=2^(3-1)。

5. 大顶堆的根结点必定是它所有结点中最大的那一个。

6. 大顶堆的左右子树都是大顶堆,其实以大顶堆的任意一个结点为根的子树都是大顶堆。

7. 删掉大顶堆的最后一个结点(它必定是叶结点),剩余的所有结点依旧组成一个大顶堆;因为删掉最后一个结点后,其余结点依旧组成一棵完全二叉树,并且依旧满足任意一个结点的值都大于等于它的左右孩子结点的值。

4. 堆排序的主要思想

本文最后我们再概述一下堆排序的主要思想,这主要是为了引出堆的操作,具体的细节留待后文再介绍。假设待排序的原序列共有n个元素,并且按照升序(从小到大)排序,那么堆排序的步骤如下:

1. 首先将该原序列构造为一个大顶堆,这个大顶堆依旧存储在该序列中。

2. 选择该大顶堆的根结点(下标为0)并和序列中的最后一个元素交换位置;现在原序列中最大的元素位于序列中最后的位置上,而该大顶堆除它的根结点外的所有剩余结点都在序列的前n-1个位置上。

3. 然后对序列的前n-1个元素进行调整,使它们重新形成一个大顶堆,再选择该大顶堆的根结点(下标还是为0)并和序列中的倒数第二个元素交换位置;现在原序列中第二大的元素位于序列的倒数第二个位置上,该大顶堆的剩余结点都在序列的前n-2个位置上。

4. 再对序列的前n-2个元素进行调整,同样使它们重新形成一个大顶堆,选择该大顶堆的根结点(下标还是为0)并和序列中的倒数第三个元素交换位置;现在原序列中第三大的元素位于序列的倒数第三个位置上,该大顶堆的剩余结点都在序列的前n-3个位置上。

5. 重复这一过程,直到整个序列中的元素都排好序。

根据上面讲到的堆排序的主要思想,我们可知堆排序面临两个主要的问题:

1. 将一个序列构造为一个大顶堆;

2. 将一个大顶堆的根结点取出后,调整它的剩余结点以使它们形成一个新的大顶堆。

如何解决这两个问题涉及堆的操作,我们将在下一篇文章中再详细讲解。

(完)

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
世锦赛战报:吴宜泽13-11战胜塞尔比!连爆大冷,6位世界冠军出局

世锦赛战报:吴宜泽13-11战胜塞尔比!连爆大冷,6位世界冠军出局

小火箭爱体育
2026-04-28 00:18:14
最高院:提供 “口交” “肛交”等进入式性服务,是否属卖淫行为?

最高院:提供 “口交” “肛交”等进入式性服务,是否属卖淫行为?

周军律师聊案子
2026-04-21 09:50:16
江疏影海外产子风波升级,遭正房儿子当众羞辱?王传君的话应验了

江疏影海外产子风波升级,遭正房儿子当众羞辱?王传君的话应验了

阿讯说天下
2026-04-26 08:18:08
114-93!文班亚马复出27+11+7封盖,马刺19分逆转大胜开拓者

114-93!文班亚马复出27+11+7封盖,马刺19分逆转大胜开拓者

全景体育V
2026-04-27 06:21:57
李嘉欣现身伦敦街头被路人偶遇,顶级骨相美到发光完全不像55岁

李嘉欣现身伦敦街头被路人偶遇,顶级骨相美到发光完全不像55岁

喜欢历史的阿繁
2026-04-24 11:57:41
世锦赛16进8最新战报:吴宜泽领先四冠王,赵心童晋级八强战墨菲

世锦赛16进8最新战报:吴宜泽领先四冠王,赵心童晋级八强战墨菲

夜深聊球
2026-04-27 20:58:41
内分泌科主任:糖尿病最危险信号,不是口渴,是频繁出现4异常

内分泌科主任:糖尿病最危险信号,不是口渴,是频繁出现4异常

垚垚分享健康
2026-04-27 15:02:26
1984年中美黑鹰直升机交易内幕:原计划提供100架,为何只有24架

1984年中美黑鹰直升机交易内幕:原计划提供100架,为何只有24架

文史达观
2026-04-27 17:47:47
美国已收到伊朗谈判新方案

美国已收到伊朗谈判新方案

界面新闻
2026-04-27 11:28:26
只喝烧开的自来水,不碰桶装水,不买矿泉水,最后结果如何?

只喝烧开的自来水,不碰桶装水,不买矿泉水,最后结果如何?

芹姐说生活
2026-04-26 15:17:10
王鹤棣新剧对打任嘉伦,一部悬疑一部古偶,流量生早已拉开差距

王鹤棣新剧对打任嘉伦,一部悬疑一部古偶,流量生早已拉开差距

暖心萌阿菇凉
2026-04-26 22:27:11
菲政坛大地震,莎拉取消五国行,67亿赃款被扒,父女俩彻底栽了?

菲政坛大地震,莎拉取消五国行,67亿赃款被扒,父女俩彻底栽了?

影孖看世界
2026-04-27 23:40:49
白人女性与黑人女性的体味差异,网友真实分享引发热议

白人女性与黑人女性的体味差异,网友真实分享引发热议

特约前排观众
2025-12-22 00:20:06
日本高官称168小时可全歼中国海军,但中国禁用导弹

日本高官称168小时可全歼中国海军,但中国禁用导弹

明天后天大后天
2026-03-17 15:30:37
世界杯制造20球有多难?历史仅5人,巴西德国霸榜,现役仅1人

世界杯制造20球有多难?历史仅5人,巴西德国霸榜,现役仅1人

篮球圈里的那些事
2026-04-27 09:24:49
32岁男子:一周多达9次,不幸猝死,妻子:多次劝说,他就是不听

32岁男子:一周多达9次,不幸猝死,妻子:多次劝说,他就是不听

川渝视觉
2026-04-27 22:04:50
上海地铁32岁女子与66岁老太互殴:央媒发声,拘留只是开始

上海地铁32岁女子与66岁老太互殴:央媒发声,拘留只是开始

晓銊就是我
2026-04-27 09:38:58
中年男人四件套,不信你没有!

中年男人四件套,不信你没有!

职场火锅
2026-04-27 10:37:49
汤姆斯杯:石宇奇退赛!李诗沣2-0横扫杨灿,国羽2-1加拿大夺赛点

汤姆斯杯:石宇奇退赛!李诗沣2-0横扫杨灿,国羽2-1加拿大夺赛点

钉钉陌上花开
2026-04-27 16:28:02
DeepSeek“吓崩”智谱和MiniMax,但摩根大通认为:V4打破算力束缚,是行业利好

DeepSeek“吓崩”智谱和MiniMax,但摩根大通认为:V4打破算力束缚,是行业利好

华尔街见闻官方
2026-04-27 09:59:20
2026-04-28 00:51:00
青石野草
青石野草
岁月不请自来,青春不告而别。
56文章数 75关注度
往期回顾 全部

科技要闻

DeepSeek V4上线三天,第一批实测出来了

头条要闻

坐在特朗普身边亲历枪击案的女记者 身份非常不一般

头条要闻

坐在特朗普身边亲历枪击案的女记者 身份非常不一般

体育要闻

人类马拉松"破二"新纪元,一场跑鞋军备竞赛

娱乐要闻

黄杨钿甜为“耳环风波”出镜道歉:谣言已澄清

财经要闻

Meta 140亿收购Manus遭中国发改委否决

汽车要闻

不那么小众也可以 smart的路会越走越宽

态度原创

数码
本地
房产
公开课
军事航空

数码要闻

LABUBU冰箱还未正式发售就已溢价3000元

本地新闻

云游中国|逛世界风筝都 留学生探秘中国传统文化

房产要闻

信号!海南商业版图,迎来大变局!

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

伊朗外长折返伊斯兰堡内情披露

无障碍浏览 进入关怀版