Как обновить приоритет записи в PriorityQueue? - PullRequest
0 голосов
/ 26 апреля 2020

Я использую

from queue import PriorityQueue
pq = PriorityQueue()
pq.put((3, "Harry"))
pq.put((4, "Harry"))
pq.put((2, "Mary"))

Это теперь создает две записи "Гарри". Я должен удалить все ключи один за другим (для поиска), а затем сделать пут, чтобы обновить значение?

1 Ответ

0 голосов
/ 26 апреля 2020

Документация python для PriorityQueue не имеет прямого метода для поиска значения внутри Queue объектов.

Редактировать: PriorityQueue реализован в виде двоичной кучи , поэтому при изменении приоритета в элементах не будет обновляться двоичное дерево, поскольку Джим Мишель сказал:

Изменение приоритета узла приводит к потенциально недопустимой куче.

...