私はこのようなヒープ(python、heapqモジュール)を持っています -
>>> h = []
>>> heappush(h, (5, 'write code'))
>>> heappush(h, (7, 'release product'))
>>> heappush(h, (1, 'write spec'))
>>> heappush(h, (3, 'create tests'))
O(logn)で「テストの作成」として項目値を持つタプルを削除し、ヒーププロパティを保持するにはどうすればよいですか?
これは私が思いついたものです(O(logn)ではありません)
for i in range(len(h)):
if h[i][1] == "create tests":
h[i], h[-1] = h[-1], h[i]
popped = h.pop()
heapq.heapify(h)
break