排序算法之五:堆排序

堆排序

堆排序(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博客

相关推荐
ZackSock4 小时前
Policy Gradient 极简教程
算法
Big_Yellow_J5 小时前
深入浅出了解生成模型-3:Diffusion模型原理以及代码
算法·面试
ZackSock6 小时前
从零实现 RAG
算法
Jolyne_6 小时前
前端常用的树处理方法总结
前端·算法·面试
前端付豪8 小时前
微信视频号推荐系统揭秘:兴趣建模、多模态分析与亿级流控架构实战
前端·后端·算法
木杉苑8 小时前
快速幂算法
算法
梦境虽美,却不长10 小时前
算法 学习 排序 2025年6月16日10:25:37
数据结构·学习·排序算法
-qOVOp-11 小时前
408第一季 - 数据结构 - 排序II
数据结构·算法·排序算法
小胖同学~11 小时前
快速入门数据结构--栈
算法
C++ 老炮儿的技术栈11 小时前
VSCode -配置为中文界面
大数据·c语言·c++·ide·vscode·算法·编辑器