How it works?
Урок 3 из 9 курса Алгоритм Прима — Алгоритмы на графах на Coddy.
Поддерживайте логическое значение inTree для каждой вершины. Начните с того, что в дереве находится только вершина 0. Граница — это каждое ребро, у которого ровно один конец находится внутри дерева, называемое пересекающим ребром.
Пошаговый процесс:
- Среди всех пересекающих ребер выберите то, которое имеет наименьший вес.
- Добавьте его внешнюю конечную вершину в дерево и прибавьте его вес к общей сумме.
- Повторяйте до тех пор, пока дерево не будет содержать все
nвершин (это займетn - 1ребер).
Если в какой-то момент пересекающих ребер не останется, но вершины вне дерева еще будут, значит, граф несвязен.
Пример с ребрами [0,1,1, 1,2,2, 2,3,3, 0,3,4]: из 0 возьмите 0-1(1), затем 1-2(2), затем 2-3(3); итого 6.
Попробуйте сами
В этом уроке нет задания по программированию.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Алгоритм Прима — Алгоритмы на графах
2The Algorithm
How it works?Pseudo CodeImplementation (Part 1)Implementation (Part 2)