Я изучал из книги Кормена и др., И я немного запутался в алгоритме, который они предоставили. Я понял, как концепция Prim's algo работает через википедию, но я не могу имитировать эту работу, используя алгоритм, представленный в моей книге.
Обратитесь к этой онлайн-копии главы:
http://www.cs.cmu.edu/afs/cs/academic/class/15451-s04/www/Lectures/minimumSpanningTrees.pdf
Алгоритм приведен на странице 13 в приведенной выше ссылке, а пример диаграммы - на предыдущей странице.
Теперь, используя алгоритм в примере, на первом шаге:
u <--- узел A через ExtractMin (Q).
Тогда есть две записи в Adj [u] согласно диаграмме: узел b и узел h. </p>
Теперь сначала установите v <---- узел b. Затем проверьте, принадлежит ли v Q. Это так. Проверьте, что w (u, v) <ключ [v]. Правда. Так что PI [v] <--- u и ключ [v] <--- w (u, v).
Я получил это много. Это показано в (b) диаграммы на стр. 12. </p>
НО алгоритм говорит «для каждого v в Adj [u]».
Таким образом, следующий шаг должен установить v <--- узел h.
Затем проверьте, принадлежит ли v Q. Это так! И w (u, v) <ключ [v]? Это! Так как ключ [v] = бесконечность!
Но диаграмма показывает другой шаг в части (с)! </p>
Aaaaaah! Почему?