冒泡排序通过相邻元素交换将最大值逐步“浮”到末尾,每轮确定一个最大值位置,具有稳定性但时间复杂度为O(n²),适合小数据量或教学演示;快速排序采用分治策略,选取基准值将数组划分为两部分并递归排序,平均时间复杂度O(n log n),效率高但不稳定,广泛应用于实际场景;堆排序基于最大堆性质,每次取出堆顶最大元素并重建堆,时间复杂度O(n log n),空间复杂度低但不稳定,适用于对内存敏感的场景。三种算法各有优劣,应根据数据规模和稳定性需求选择合适方法。

冒泡排序、快速排序和堆排序是常见的排序算法,各有特点。下面用 Python 实现这三种排序方法,并简要说明其原理和性能。
冒泡排序通过重复遍历数组,比较相邻元素并交换位置,将最大值“浮”到末尾。每轮确定一个最大值的位置。
特点:稳定、时间复杂度 O(n²),适合小数据量或教学演示。
实现代码:
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n - i - 1):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
return arr
示例:
print(bubble_sort([64, 34, 25, 12, 22])) # 输出 [12, 22, 25, 34, 64]
快速排序采用分治策略:选一个基准值(pivot),将数组分为小于和大于基准的两部分,递归排序。
特点:平均时间复杂度 O(n log n),不稳定,实际应用中效率高。
网群企业网站管理系统2.1
整站DIV+CSS布局,支持全部浏览器,加载访问速度更快,兼容性更强。 导航管理:不限制个数,支持排序和外联。 幻灯管理:支持文字、链接、不限制个数可以排序。 产品频道:支持独立关键字、关键描述,支持排序。 文章频道:支持独立关键字、关键描述,支持排序。 单页管理:不限制个数,支持简短和详细内容,支持排序。 在线留言:支持回复和审核功能。 友情链接:支持文字和logo链接两种 更新记录: 2013
0
查看详情
实现代码:
def quick_sort(arr):
if len(arr)
return arr
pivot = arr[len(arr) // 2]
left = [x for x in arr if x
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x > pivot]
return quick_sort(left) + middle + quick_sort(right)
示例:
print(quick_sort([64, 34, 25, 12, 22])) # 输出 [12, 22, 25, 34, 64]
堆排序利用最大堆(或最小堆)的性质,每次取出堆顶最大元素放到末尾,重建堆。
特点:时间复杂度 O(n log n),不稳定,空间复杂度低。
实现代码:
def heapify(arr, n, i):
largest = i
l = 2 * i + 1
r = 2 * i + 2
if l arr[largest]:
largest = l
if r arr[largest]:
largest = r
if largest != i:
arr[i], arr[largest] = arr[largest], arr[i]
heapify(arr, n, largest)
def heap_sort(arr):
n = len(arr)
for i in range(n // 2 - 1, -1, -1):
heapify(arr, n, i)
for i in range(n - 1, 0, -1):
arr[0], arr[i] = arr[i], arr[0]
heapify(arr, i, 0)
return arr
示例:
print(heap_sort([64, 34, 25, 12, 22])) # 输出 [12, 22, 25, 34, 64]
基本上就这些。冒泡简单但慢,快排高效常用,堆排序稳定高效但不保序。根据场景选择合适算法即可。
以上就是Python冒泡排序、快速排序、堆排序的详细内容,更多请关注其它相关文章!
# 排序
# 排序算法
# python
# 许昌seo网络营销推广
# 链接设计不正确seo
# 惠州关键词排名哪家有名
# QQ刷赞网站推广快手
# 新媒体营销推广文案
# 松江网站建设哪家强
# 平山网站制作推广
# 白山企业seo方法
# 秀洲网站推广
# 河源网站建设 科技
# 两种
# 大堆
# 两部分
# 不稳定
# 各有
# 浮点
# 但不
# 企业网站
# 管理系统
# 递归
# 冒泡排序
相关栏目:
【
Google疑问12 】
【
Facebook疑问10 】
【
优化推广96088 】
【
技术知识133117 】
【
IDC资讯59369 】
【
网络运营7196 】
【
IT资讯61894 】
相关推荐:
苹果电脑如何快速截图并编辑 苹果电脑截屏标注快捷操作
search中maxlength属性用法解析
优化Flask模板中SQLAlchemy查询迭代标签:处理字符串空格问题
edge浏览器怎么修改语言为中文_Edge界面语言切换教程
歌词怎么展示在|直播|间视频号?有什么注意事项?
学习通网页版课程打不开_课程无法访问时的解决方法
三星M34录音变声问题_Samsung M34麦克风调整
铁路12306入口 铁路12306官网版入口登录网址
冬季去寒冷地区旅游,以下哪种做法有助于缓解冻伤
Win11如何分屏操作_Win11多窗口分屏技巧
优化2xN网格最大路径和的动态规划算法实践
优化长HTML属性值:SonarQube警告与实用策略
飞飞漫画漫画阅读官网_飞飞漫画漫画阅读官网进入阅读
J*aScript与CSS动画:实现平滑顺序淡入淡出效果并解决显示冲突
动漫岛在线动漫网 动漫岛动漫在线观看官方入口
解决jQuery多计算器输入字段冲突的教程
QQ网页版入口导航 QQ网页版在线访问通道
《随手记》关闭首页消息推送方法
Go Template中优雅处理循环最后一项:自定义函数实践
mysql如何管理数据库账户_mysql数据库账户管理技巧
J*aScript中高效处理用户输入:从Keyup事件到表单提交的优化实践
Go App Engine 项目结构与包管理深度指南
如何通过settings.json个性化您的VS Code体验
《雷电模拟器》截图方法介绍
《撕歌》会员开通方法
Win10共享文件夹设置方法 Win10局域网文件共享全攻略【教程】
《桃源记2》资源采集攻略
如何在mysql中设计餐饮点餐系统_mysql点餐系统项目实战
BunnyStream TUS视频上传指南:解决401认证错误与参数配置
2025SNH48年度青春盛典门票价格及购买方式
PointNet++语义分割模型中类别变更引发的断言错误及标签处理策略
告别繁琐SEO!如何使用SyliusSitemap插件自动化生成网站地图,提升搜索引擎排名
TikTok笔记文字无法编辑如何解决 TikTok笔记文字编辑优化方法
AI图层蒙版怎么用_AI图层蒙版应用技巧与设计实例
实时数据流中高效查找最小值与最大值
支付宝网页版在线入口 支付宝官网电脑登录入口
QQ邮箱手机版网页版 QQ邮箱登录入口地址
vivo云服务一直提示空间不足怎么办 怎么办vivo云服务老是提示空间不足
作业帮网页版不用下载入口 在线问老师快速答疑
吃完饭就犯困是什么原因 餐后嗜睡如何缓解
uc浏览器官网网页版使用 uc浏览器官网免费在线首页
《海贝音乐》均衡器设置方法
Animex动漫社正版在线入口 Animex动漫社动漫官方观看网
byrutor直接访问入口 byrutor官方游戏库
如何在CSS中使用absolute实现登录弹窗居中_transform translate结合
HTML中多图片上传与预览:解决ID冲突的专业指南
漫蛙官网(首页入口)_漫蛙漫画稳定访问教程分享
申通快件单号查询平台 申通包裹物流动态跟踪
如何在Python中安全地将环境变量转换为整数并满足Mypy类型检查
word文档行距怎么调?word文档调行距的操作步骤
2025-11-25
运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。