数据结构学习——堆排序

堆排序是一种基于完全二叉树的排序算法,通过构建和调整小根堆或大根堆来实现元素的排序。堆实质是非叶子节点始终大于或小于其孩子节点的完全二叉树。排序过程中,输出堆顶元素并重新调整堆,循环进行直至得到有序序列。堆排序的时间复杂度为O(nlogn)。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

若n个元素的序列{ a_{1}a_{2}......a_{n}}满足a_{i}\leq a_{2i}a_{i}\leq a_{2i+1}a_{i}\geq a_{2i}a_{i}\geq a_{2i+1}则称该序列为小根堆或大根堆。

由以上可知堆实质是任一非叶子结点均小(大)于它的孩子结点的完全二叉树。

堆排序:若在输出堆顶的最小值(最大值)后,使得剩余n-1个元素的序列重又建成一个堆,则得到n个元素的次小值(次大值&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值