Python中堆排序怎么理解,实现过程是怎样
Admin 2022-06-07 群英技术资讯 1426 次浏览
今天小编跟大家讲解下有关“Python中堆排序怎么理解,实现过程是怎样”的内容 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了相关资料,希望小伙伴们看了有所帮助。在使用python中,你会遇到一个词,就是堆排序。那堆排序是什么呢?堆排序看字面意思是一种排序方法,那堆是什么呢?堆是一个近似完全二叉树的结构,并同时满足堆积的性质。其实堆排序是指利用堆这种数据结构所设计的一种排序算法。认识了堆排序,那你知道堆排序在python中如何实现吗?本文小编就像大家演示推排序在python的实现代码。
代码:
def heap_sort(array, n, length): l = 2*n + 1 r = 2*n + 2 if l <= length - 1: heap_sort(array, l, length) if r <= length - 1: heap_sort(array, r, length) if l >= length: return index = l if r < length and array[r] > array[l]: index = r if array[n] < array[index]: array[n], array[index] = array[index], array[n]
测试:
if __name__ == '__main__':
a = input("输入数组元素:").split(" ")
a = list(map(int, a))
b = a.copy()
c = a.copy()
for i in range(len(c)):
heap_sort(c, 0, len(c) - i)
c[0], c[len(c) - i - 1] = c[len(c) - i - 1], c[0]
print(c)
输入数组元素:4 8 3 6 7 1 5
[1, 3, 4, 5, 6, 7, 8]
Process finished with exit code 0
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
python怎么打空字符串?Python中空字符串用""表示。另外讲一下Python中的none,python中的内建常数,是NoneType中唯一的值,且不能赋值。一般用于函数中表示参数的缺省。
这篇文章主要介绍了Python 中数组和数字相乘时的注意事项说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
这篇文章给大家分享的是Python线性回归的相关内容,下文将介绍线性回归的定义,线性回归的示例、评估方法和梯度下降等等,深度总结了线性回归,需要的朋友可以了解看看这篇,希望能对大家有帮助。
Pandas提供了很多合并Series和Dataframe的强大的功能,通过这些功能可以方便的进行数据分析,下面这篇文章主要给大家介绍了关于python中DataFrame数据合并merge()和concat()方法的相关资料,需要的朋友可以参考下
如何使用python中range()函数实现逆序遍历?range函数实现逆序遍历两种实现方式
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008