Я изучу Prim Algorithm. Внутри кода есть часть, следующая вершина поперек разреза будет приходить к набору вершин, принадлежащих MST
. При этом нам также нужно "обновить все вершины в другом наборе, которые смежны с уходящей вершиной". Это снимок из CLRS
:
Интересная часть лежит в строке №. 11. Но поскольку мы используем кучу здесь, у нас есть доступ только к минимальному элементу, справа (heap[0]
)? Итак, как мы можем искать и обновлять вершины из кучи, даже если они не являются минимальными, и поэтому мы знаем, где они находятся, кроме линейного поиска?