python实现堆排序用类的方法_python 实现堆排序算法代码 -电脑资料

复制代码代码如下:

#!/usr/bin/python

import sys

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 < heap_size and array[l] > array[i]:

largest = l

if r < heap_size and array[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计数排序和基数排序算法实例

python实现排序算法

python算法学习之计数排序实例

python算法学习之基数排序实例

python算法学习之桶排序算法实例(分块排序)

python冒泡排序算法的实现代码

python选择排序算法的实现代码

python插入排序算法的实现代码

python快速排序代码实例

python实现的各种排序算法代码

python 实现归并排序算法

python 算法 排序实现快速排序

python 快速排序代码

python3.0 字典key排序

Python学习笔记_数据排序方法

QQ空间 搜狐微博 人人网 开心网 百度搜藏更多

Tags:堆排序

复制链接收藏本文打印本文关闭本文返回首页

上一篇:python 实现归并排序算法

下一篇:windows下wxPython开发环境安装与配置方法

相关文章

2013-11-11pyramid配置session的方法教程

2013-09-09Python版的文曲星猜数字游戏代码

2014-04-04Python删除指定目录下过期文件的2个脚本分享

2014-02-02python缩进区别分析

2013-11-11python读取Android permission文件

2007-04-04python编程-将Python程序转化为可执行程序[整理]

2014-02-02Python操作列表的常用方法分享

2014-04-04python实现zencart产品数据导入到magento(python导入数据)

2013-04-04重命名批处理python脚本

2013-03-03python中关于时间和日期函数的常用计算总结(time和datatime)

文章评论

最 近 更 新

python基础入门详解(文件输入/输出 内建类

Python实现的金山快盘的签到程序

python中的yield使用方法

一个简单的python程序实例(通讯录)

python基础教程之基本内置数据类型介绍

Python删除指定目录下过期文件的2个脚本分

pycharm 使用心得(五)断点调试

python pickle 和 shelve模块的用法

python中的实例方法、静态方法、类方法、

python将xml xsl文件生成html文件存储示例

热 点 排 行

Python入门教程 超详细1小时学会

python 中文乱码问题深入分析

比较详细Python正则表达式操作指

Python字符串的encode与decode研

Python open读写文件实现脚本

Python enumerate遍历数组示例应

Python 深入理解yield

Python+Django在windows下的开发

python 文件和路径操作函数小结

python 字符串split的用法分享

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值