Да, это домашнее задание. Мне было интересно, сможет ли кто-нибудь объяснить процесс алгоритма Соллина (или Borůvka's) для определения минимального остовного дерева. Также, если бы вы могли объяснить, как определить количество итераций в худшем случае, это было бы здорово.Алгоритм минимального спаривания дерева Соллина
ответ
На верхнем уровне, алгоритм работает следующим образом:
- Поддерживайте, что у вас есть целый ряд остовных деревьев для некоторых подграфов. Первоначально каждая вершина графа является m.s.t. без краев.
- На каждой итерации для каждой из ваших связующих деревьев найдите самый дешевый край, соединяющий его с другим связующим деревом. (Это упрощение.)
Худший случай с точки зрения итераций заключается в том, что вы всегда объединяете пары деревьев. В этом случае количество деревьев, которые у вас есть, будет уменьшаться на половину на каждой итерации, поэтому число итераций логарифмическое число узлов.
Также обратите внимание на то, дерево A. (Это может произойти только в том случае, если все три выбранные ребра имеют одинаковый вес. Трюк состоит в том, чтобы иметь произвольный, но фиксированный тай-брейкер, как фиксированный порядок ребер.)
Итак, это моя спина обзор-обзор-карты.
Итак, в случае дерева узлов 100 наихудший случай будет принимать log2 (100) или 7 итераций? – Brendan
@Brendan: Да, звучит правильно. Я признаю, что меня не интересуют постоянные факторы, которые O() - Обозначение скрывается от вас, но я не думаю, что здесь есть. –
Спасибо. Я думаю, что между вашим объяснением и моим исследованием я правильно использую этот алгоритм. – Brendan
Я использую терминологию непрофессионала.
- Сначала выберите вершину
- Проверьте все ребра из этой вершины и выбрать один с минимальным веса
- Сделайте это для всех вершин (некоторые ребра могут быть выбраны более раз)
- Вы получите подключенные компоненты.
- Из этих подключенных компонентов выберите один край с минимальным весом.
Ваш остов с минимальным весом будет сформирован
- 1. Алгоритм изменения минимального спаривающего дерева
- 2. Сложность временного спаривания дерева
- 3. Алгоритм для остовного дерева минимального диаметра
- 4. Самый быстрый алгоритм минимального покрывающего дерева
- 5. Алгоритм спаривания открытого турнира
- 6. Швейцарский турнир - алгоритм спаривания
- 7. Полиномиальный алгоритм спаривания пользователя времени
- 8. Алгоритм: Письма и конверты спаривания
- 9. Алгоритм Prim и Boruvka для минимального связующего дерева
- 10. График минимального связующего дерева
- 11. Алгоритм минимального числа резисторов
- 12. Алгоритм минимального расстояния
- 13. Алгоритм минимального алгоритма задержки
- 14. Алгоритм построения дерева дерева
- 15. Обновление минимального покрывающего дерева, если ребро добавляется
- 16. Обновление минимального связующего дерева с модификацией края
- 17. Алгоритм дерева
- 18. Обновление минимального покрывающего дерева, если ребро удаляется
- 19. Кластеризация после минимального обрезания дерева
- 20. R: глубина минимального остовного дерева
- 21. коммивояжер минимального остовного дерева вариант
- 22. Java: Структура данных для минимального остовного дерева
- 23. алгоритм krukshal или алгоритм Примса, который лучше всего подходит для поиска минимального остовного дерева?
- 24. Код дерева дерева решений/алгоритм
- 25. Алгоритм проверки минимального покрытия вершин?
- 26. Алгоритм для минимального количества прямоугольников
- 27. Улучшение реализации поиска минимального спанивающего дерева
- 28. Алгоритм построения диаграммы дерева
- 29. Алгоритм дерева Pseudo LRU
- 30. алгоритм дерева зависимостей
http://en.wikipedia.org/wiki/Bor%C5%AFvka's_algorithm? Если что-то конкретное вы не понимаете, спросите об этом. В противном случае прочитайте учебник, википедию, источники в Википедии и т. Д. – nmichaels
Не мог бы кто-нибудь объяснить, почему этот человек Гарет Рис продолжает удалять тег «дискретная математика» из этого вопроса и почему он проголосовали? Я не злюсь; Я просто не понимаю, как работает этот сайт, поскольку я новичок. Этот вопрос кажется законным вопросом на этом сайте, и я считаю, что он подпадает под дискретную математику, особенно из-за того, что эта домашняя работа происходит из курса под названием «Дискретная математика». – Brendan
Дискретная математика - это набор тем, посвященных целям (в отличие от непрерывной математики). Итак, последовательности, рекуррентности, суммирование, производящие функции, биномы, конечное исчисление и т. Д. Алгоритмы предоставляют множество * примеров * для дискретных математических вычислений, но это не значит, что все вопросы об алгоритмах - это вопросы о дискретных математиках. Что касается downvotes, я не знаю. (Я думаю, что ваш вопрос в порядке, просто неверно отмечен.) –