堆排序(Python)
来源:互联网 发布:在淘宝开童装店 编辑:程序博客网 时间:2024/05/21 19:25
import randomdef createdata(size): return [random.randint(0, 100) for x in range(size)]def maxheap(arr,i,size): left, right = 2*i+1, 2*i+2 largest = left if left < size and arr[left] > arr[i] else i largest = right if right < size and arr[right] > arr[largest] else largest if largest != i: arr[i], arr[largest] = arr[largest], arr[i] maxheap(arr, largest,size)def buildmaxheap(arr): for i in range(len(arr)/2,-1,-1): maxheap(arr, i, len(arr))def heapsort(arr, size): buildmaxheap(arr) for i in range(len(arr)-1, -1, -1): arr[0], arr[i] = arr[i], arr[0] size -=1 maxheap(arr,0,size)if __name__ == '__main__': arr = createdata(10) print arr heapsort(arr,len(arr)) print arr
阅读全文
0 0
- 堆排序(Python)
- Python实现 [堆] [堆排序]
- 堆排序 Python实现(转)
- 堆排序PYTHON实现
- Python 堆排序
- 堆排序 python
- Python实现堆排序
- 堆排序python实现
- Python实现堆排序
- python实现堆排序
- Python堆排序
- python堆排序
- python 实现堆排序
- 堆排序python实现
- Python 实现堆排序
- python堆排序
- Python:堆排序算法
- python--堆排序
- Linux文件系统的硬链接与软链接
- IDEA开发第一个Servlet
- 如何在Linux下解压中文文件名的压缩包
- recycleview多布局,不带type值,基数偶数。
- 动态规划求解裴波那契数列
- 堆排序(Python)
- 第三天任务 (【基于Python编程从入门到实践】第三章 列表 书本及动手试一试)
- HTTPS/SSL/TLS
- B/S与C/S的区别
- 网站开发(此处以新闻网站开发为例)
- javaweb 后台 获取前台form提交post的参数中文乱码
- Servlet中两种请求方式的区别
- MySQL添加新用户、为用户创建数据库、为新用户分配权限
- MVP模式