Advertisement
Infidelis

graph_algorithm

Oct 14th, 2019
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.36 KB | None | 0 0
  1. Мамедов Валентин Юрьевич
  2. Группа 17123
  3. ---
  4. Задание: Алгоритм Краскала
  5. Построить минимальный каркас взвешенного связного неориентированного графа
  6. =======
  7. Краткое описание кода
  8. =======
  9. На вход сначала подается число **n** - количество вершин в исходном графе.
  10. Далее вводится **матрица смежности** графа.
  11.  
  12. На выходе: матрица смежности минимального каркаса взвешенного связного неориентированного графа
  13.  
  14. [Просмотр кода на Pastebin](https://pastebin.com/gQ35CnyP)
  15. [Тесты программы](https://pastebin.com/cWaJJweq)
  16. =======
  17. Мотивация
  18. =======
  19. Дан взвешенный неориентированный граф. Требуется найти такое поддерево этого графа, которое бы соединяло все его вершины, и при этом обладало наименьшей суммой весов ребер из всех возможных. Такое поддерево называется минимальным каркасом.
  20. =======
  21. Описание алгоритма
  22. =======
  23. Алгоритм изначально помещает каждую вершину в **своё** дерево, затем объединяет на каждой итерации два некоторых дерева некоторым ребром.
  24.  
  25. Перед началом выполнения алгоритма, все рёбра сортируются по весу (в порядке неубывания). Затем перебираются все рёбра от первого до последнего (в порядке сортировки), и если у текущего ребра его концы принадлежат разным поддеревьям, то эти поддеревья объединяются, а ребро **добавляется** к ответу. По окончании перебора всех рёбер все вершины окажутся принадлежащими одному поддереву.
  26. =======
  27. Это и будет ответом.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement