失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python 实现堆排序算法代码

python 实现堆排序算法代码

时间:2019-07-18 16:57:21

相关推荐

python 实现堆排序算法代码

后端开发|Python教程

堆排序

后端开发-Python教程

游戏守望者源码,vscode 插件笔记,ubuntu软件自带中心在哪,Php是tomcat,sqlite.js 图片,茉莉机器人 插件,前端 app 框架有哪些,蓝色的爬虫蜥蜴,php文件名乱码,北京seo公司环宇同创,html网站源码安装,网页中浮动窗口代码,织梦模板(自适应手机端),手机页面 php,成果管理系统源代码,微擎小程序前端怎样配置lzw

复制代码 代码如下:

网络订餐安卓系统源码,ubuntu名字改不了,在安卓系统上部署tomcat,爬虫软件怎么预防,如何正确学习php视频交流技术,梧州seo推荐lzw

#!/usr/bin/python

import sys

汽车维修 软件 源码,ubuntu清空目录,tomcat运行时是关闭,太原的爬虫医院,XAMPP是最流行的PHP,seo写手招聘lzw

def left_child(node):

return node * 2 + 1

def right_child(node):

return node * 2 + 2

def parent(node):

if (node % 2):

return (i - 1) / 2

else:

return (i - 2) / 2

def max_heapify(array, i, heap_size):

l = left_child(i)

r = right_child(i)

largest = i

if l array[i]:

largest = l

if r array[largest]:

largest = r

if largest != i:

array[i], array[largest] = array[largest], array[i]

max_heapify(array, largest, heap_size)

def build_max_heap(array):

for i in range(len(array) / 2, -1, -1):

max_heapify(array, i, len(array))

def heap_sort(array):

build_max_heap(array)

for i in range(len(array) - 1, 0, -1):

array[0], array[i] = array[i], array[0]

max_heapify(array, 0, i)

if __name__ == "__main__":

array = [0, 2, 6, 98, 34, -5, 23, 11, 89, 100, 7]

heap_sort(array)

for a in array:

sys.stdout.write("%d " % a)

如果觉得《python 实现堆排序算法代码》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。