所以在Python中,当我键入
from heapq import heappush
a=[]
heappush(a,('art zero', 'let3 art zero'))
heappush(a,('own kit dig', 'let2 own kit dig'))
heappush(a,('art can', 'let1 art can'))
print(a)
它给
[('art can', 'let1 art can'), ('own kit dig', 'let2 own kit dig'), ('art zero', 'let3 art zero')]
难道不是“自己的装备狗”>;'零号艺术?为什么heapq中的元组比较在这里不起作用
堆与排序列表不是一回事。堆只保证元素不大于其子元素的值
您正在比较的两个值是同级值。堆中的同级值之间没有特定的关系。你能知道的唯一一件事是他们都不比他们的父母差
完整地说,在堆中,索引i处的值的子级位于索引2i+1和2i+2处
当您从堆中获取
heappop
值时,您将以正确的顺序获取它们相关问题 更多 >
编程相关推荐