用户:想飞翔の鱼查看:1 回复:5 评论:1 创建时间:2018-12-05T20:51:26
大家好,我是想飞翔の鱼
本次为大家带来的算法是堆排序算法
首先让我们了一下堆排序算法
堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。
然后,我们来看一个动态图
大家而没看懂没关系
我给大家讲解一下步骤
首先创建一个堆H[0..n-1]
然后把堆首(最大值)和堆尾互换
把堆的尺寸缩小1,并调用shift_down(0),目的是把新的数组顶端数据调整到相应位置
重复步骤2,直到堆的尺寸为1
活动喵恭喜咸鱼报刊发布编程一小时帖子/作品一篇,工作室积分+2,工作室积分累计截止到12月12日,请在12月12日之前不要删除帖子,否则新增积分失效哦~
再接再厉,活动喵相信你们工作室能成功拿下前六,获得工作室专属荣誉及奖品!
恭喜想飞翔の鱼发布编程一小时帖子/作品一篇,个人积分+2,个人积分累计截止到12月9日,活动详情请查看链接:https://www.codemao.cn/community/167979
再接再厉,活动喵相信你能成功带回个人奖品!
点赞0
评论