heap sort in python :-) just for fun
来源:互联网 发布:测apm软件 编辑:程序博客网 时间:2024/05/29 11:41
import randomdef parent(i): return i >> 1def left(i): return i << 1def right(i): return (i << 1) + 1def max_heapify(data, i): l = left(i) r = right(i) if l < len(data) and data[i] < data[l]: largest = l else: largest = i if r < len(data) and data[largest] < data[r]: largest = r if i != largest: tmp = data[i] data[i] = data[largest] data[largest] = tmp max_heapify(data, largest)def build_max_heap(data): for i in range(len(data)/2-1, -1, -1): max_heapify(data, i)def min_heapify(data, i): l = left(i) r = right(i) if l < len(data) and data[l] < data[i]: minimum = l else: minimum = i if r < len(data) and data[r] < data[minimum]: minimum = r if minimum != i: tmp = data[i] data[i] = data[minimum] data[minimum] = tmp min_heapify(data, minimum)def build_min_heap(data): for i in range(len(data)/2-1, -1, -1): min_heapify(data, i)def make_random_data(size): data = [random.randint(1, 101) for _ in range(size)] return dataif __name__ == '__main__': random_data = make_random_data(10) print random_data build_max_heap(random_data) print random_data build_min_heap(random_data) print random_data
0 0
- heap sort in python :-) just for fun
- just for fun in linux world
- IPv6, just for fun!
- "SlideWindow", just for fun
- Just for fun
- just for fun
- 【摘抄】Just for fun
- Just output for fun
- Just FOR FUN
- just for fun
- just for fun
- integer addition in terms of bit operators, just for fun
- Just For Fun:智力题【1】
- Just For Fun:智力题【2】
- 玲珑杯Just for Fun
- 玲珑杯Just for Fun
- python-求在pi的方法 来自python cookbook上 just for fun
- Heap Sort in C++
- hdu 2665 Kth number 可持(逗)久(比)化线段树
- linux服务器可以ping通,但是访问不了--Ip地址:端口--
- mysql的使用和sql语言的学习
- RHCE系统管理——整理复习2
- HDU-2187-悼念512汶川大地震遇难同胞——老人是真饿了
- heap sort in python :-) just for fun
- Hdu 5317 2015多校对抗赛三
- java中注解的使用与实例 (二)
- CS224d lecture 8札记
- LA3938 "Ray, Pass me the dishes!" (线段树区间合并)
- S3C2440 framebuffer编程
- maven 插件之 AutoConfig 工具使用笔记
- 认识EJB
- Error/Exception-01-hibernate(jar包冲突)--javax.persistence.OneToMany.orphanRemoval()Z异常