对数据进行排序是一个很常见的需求,但有时候我们并不需要对完整的数据进行排序,只需要排前几的数据,也就是经典的 Top-K 问题。...另一种是基于堆排序的方法。
Python 中有两个标准库可以原生的支持堆排序(优先队列),分别是heapq和PriorityQueue(queue)。...queue.PriorityQueue则是 Python 原生的优先队列实现,相比heapq有着更直观易用的接口。...创建优先队列
from queue import PriorityQueue
pq = PriorityQueue()
arr = [4, 0, 3, 1, 6, 5, 9, 7, 8, 2]
for...最接近原点的 K 个点
我们有一个由平面上的点组成的列表 points。需要从中找出 K 个距离原点 (0, 0) 最近的点。
(这里,平面上两点之间的距离是欧几里德距离。)