【发布时间】:2016-08-20 23:21:37
【问题描述】:
我有一个简单的堆定义为列表列表。我使用 heapq 模块中的 heapop 来提取具有最小键的列表(我了解到它隐含地是内部列表的第一个元素)。但在以下情况下,pop 操作似乎给出了不寻常的结果。
谁能解释一下原因?
堆=[[0, 0, 0], [inf, 1, 1], [inf, 2, 2], [5, 3, 3], [inf, 4, 4]]
heapq.heappop(堆)
[0, 0, 0]
heapq.heappop(堆)
[inf, 1, 1]
heapq.heappop(堆)
[5, 3, 3]
heapq.heappop(堆)
[inf, 2, 2]
heapq.heappop(堆)
[inf, 4, 4]
【问题讨论】:
标签: python python-2.7 heap