[算法学习]20150414.2.堆排序
来源:互联网 发布:科比场均数据 编辑:程序博客网 时间:2024/04/29 23:32
堆排序
# -*-coding: utf-8 -*-import stringimport randomdef minHeapFix(datas, i): """adjust datas with i as root""" N = len(datas) j = 2 * i + 1 # left child while j < N: if (j + 1 < N) and (datas[j + 1] < datas[j]): # find the min of left and right j += 1 if datas[j] > datas[i]: # no need to swap break datas[i], datas[j] = datas[j], datas[i] i = j j = 2 * i + 1def buildMinHeap(datas): """build min heap from datas""" N = len(datas) for i in xrange(N / 2 - 1, -1, -1): minHeapFix(datas, i)if __name__ == '__main__': datas = list([random.randint(1, 100) for i in range(15)]) print datas buildMinHeap(datas) print datas
0 0
- [算法学习]20150414.2.堆排序
- 算法学习之排序算法:堆排序
- 【算法学习】排序算法-堆排序
- 算法学习笔记----堆排序
- 堆排序HeapSort算法学习
- 算法学习之--堆排序
- 算法学习笔记--堆排序
- 算法学习之一:堆排序
- 算法学习(排序五)堆排序
- 算法学习之堆排序算法
- 学习回顾算法(堆排序算法)
- 【算法学习】堆排序(Heap Sorting)
- 堆排序(Heap Sort)算法学习
- 算法导论学习笔记--2--堆排序
- 堆排序(Heap Sort)算法学习
- 算法学习与实践之堆排序
- 算法导论-堆排序学习笔记
- 算法学习笔记之堆排序
- 解决eclipse for c/c++的运行错误:Launch Failed Binary not found
- java 关于初学面向对象的问题三:访问权限等修饰符
- linux C/C++大小写转换
- 用css画三角形
- 数据量很大的排序问题 大量数据如何排序
- [算法学习]20150414.2.堆排序
- getopt 函数分析
- 手把手教你开发Chrome扩展三:关于本地存储数据
- iOS开发-清理缓存功能的实现
- 滴滴打车,打车软件app实现。小车在地图上平滑移动的实现,Android,基于高德地图开发实现
- XML操作方法
- iOS接阿里百川反馈SDK
- 继续聊WPF——获取ComboBox中绑定的值
- SD卡环境变量类的/android存储设备的相关操作