Am einfachsten war es, ** PriorityQueue ** oder ** Bisect ** zu verwenden, was die Dichotomie unterstützt. Ich möchte herausfinden, wie ich die Vergleichsfunktion selbst einstellen kann (ob dies möglich ist) und wie die Leistung ist.
bisect
from bisect import insort
q = []
insort(q, 1)
insort(q, 10)
insort(q, 2)
insort(q, 5)
insort(q, 3)
print(q) # [1, 2, 3, 5, 10]
PriorityQueue
import Queue as Q
q = Q.PriorityQueue()
q.put(1)
q.put(10)
q.put(2)
q.put(5)
q.put(3)
# 1, 2, 3, 5,Ausgabe in der Größenordnung von 10
while q.qsize() > 0:
print(q.get())
Recommended Posts