排序算法之五:堆排序

堆排序

堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。它是通过堆来进行选择数据

需要注意的是排升序要建大堆,排降序建小堆

堆排序的动图演示:

https://vdn3.vzuu.com/SD/3bb38dfe-236a-11eb-8039-a6caf32b14c9.mp4?disable_local_cache=1&bu=078babd7&c=avc.0.0&f=mp4&expiration=1702105011&auth_key=1702105011-0-0-878db3b13aac5ae0f93058270fce32ed&v=tx&pu=078babd7

堆排序的特性总结

  1. 堆排序使用堆来选数,效率就高了很多。
  2. 时间复杂度:O(N*logN)
  3. 空间复杂度:O(1)
  4. 稳定性:不稳定

堆排序的实现

堆排序算法的实现我们之前有写过文章:

堆排序算法-CSDN博客

相关推荐
Xの哲學7 分钟前
Linux eMMC子系统深度解析:从硬件协议到内核实现
linux·网络·算法·架构·边缘计算
AI柠檬16 分钟前
C语言基于MPI并行计算矩阵的乘法
c语言·c++·算法
lin__ying16 分钟前
机器学习-聚类
算法·机器学习
海琴烟Sunshine26 分钟前
leetcode 338. 比特位计数 python
python·算法·leetcode
闻缺陷则喜何志丹1 小时前
【贪心 字典序 回文 最长公共前缀】LeetCode3734. 大于目标字符串的最小字典序回文排列|分数未知
c++·算法·力扣·贪心·字典序·回文·最长公共前缀
weixin_514221851 小时前
FDTD代码学习-1
学习·算法·lumerical·fdtd
AI柠檬2 小时前
机器学习:数据集的划分
人工智能·算法·机器学习
让我们一起加油好吗2 小时前
【数论】裴蜀定理与扩展欧几里得算法 (exgcd)
算法·数论·裴蜀定理·扩展欧几里得算法·逆元
Geo_V3 小时前
提示词工程
人工智能·python·算法·ai
侯小啾3 小时前
【22】C语言 - 二维数组详解
c语言·数据结构·算法