注意python堆的方法使用:
heappush(heap , x) 将x入堆
heappop(heap)弹出堆中最小值
heapify(heap)将heap属性强制应用到任意一个列表
heapreplace(heap, x)将最小的元素弹出,同时将x推入堆
nlargest(n, iter)返回iter中第n大的元素
nsmallest(n, iter)返回iter中第n小的元素
使用堆查找最小元素,比使用列表的min方法效率要高很多。nlargest(n, iter)和nsmallest(n, iter)比使用切片和排序效率高和占用更少的内存。
参考python基础教程(第2版修订版)第10章自带电池183页。