堆排序解决 top k 问题
来源:互联网 发布:linux zip 打包文件夹 编辑:程序博客网 时间:2024/06/06 18:21
import timeimport heapqimport randomdef gen_large_arr(n): arr = [i for i in range(n)] random.shuffle(arr) return arr# find top n item from bigarray using liner searchdef liner_search(bigarray, n): return sorted(bigarray, reverse=True)[:n]# using heap sortdef heap_search(bigarray, n): heap = [] for elem in bigarray: if len(heap) < n or elem > heap[0]: if len(heap) == n: heapq.heappop(heap) heapq.heappush(heap, elem) return heapstart = time.time()bigarray = gen_large_arr(10 * 1000 * 1000)print 'gen arr took %g s' % (time.time() - start)start = time.time()print liner_search(bigarray, 10)print 'linear search took %g s' % (time.time() - start)start = time.time()print heap_search(bigarray, 10)print 'heap search took %g s' %(time.time() - start)
0 0
- 堆排序解决 top k 问题
- 大小堆排序 & Top K 问题
- 堆排序(TOP K)
- Java 堆排序 Top K
- 堆排序在TOP K问题中的应用
- Top K问题——基于堆排序
- TOP-K问题-堆排序和快排实现
- 堆排序及top K 算法
- 大堆排序,TOP K 问题
- 排序算法整理(6)堆排序的应用,top K 问题
- 最大堆解Top K问题
- 堆的应用之TOP K问题
- 最小堆JAVA(Top K问题)
- 应用C++ STL以最小堆方法解决Top K 问题
- 基于堆实现的优先级队列:PriorityQueue 解决 Top K 问题
- 基于堆实现的优先级队列:PriorityQueue 解决 Top K 问题
- hadoop 中文词频排序 top-k 问题
- hadoop mapreduce 解决 top K问题
- Spring学习-----bean的装配(6)
- HDU 2191 二进制优化 和 单调队列优化
- luogu2055 [ZJOI2009]假期的宿舍
- aliyun 阿里云Maven仓库地址 不管是自建私服还是maven构建 必备 结束了几kb的历史
- Java中的设计模式与7大原则
- 堆排序解决 top k 问题
- /proc/stat
- Airkiss智能配置上网
- MATLAB reshape,repmat简单示例
- MATLAB产生随机数
- linux 如何查找命令的路径
- 适合新手看的安卓开发书android studio
- 设计模式——Builder模式
- Java 反射机制分析指南