Skip to content

Abraham077/DesignAlgorithms3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Assignment 3 — MST (Minimum Spanning Tree)

Я сделал программу на Java, которая находит самый дешёвый способ соединить все районы города дорогами.
Использовал два алгоритма: Prim и Kruskal.


Что я сделал

Написал Prim’s algorithm
Написал Kruskal’s algorithm
Сделал свои классы Graph.java и Edge.java
Программа читает граф из JSON-файла
Сохраняет результат в output.json
Написал JUnit-тесты
Протестировал на 4 графах: маленьких, среднем и большом
Сравнил время работы и количество операций


Я написал JUnit-тесты, которые проверяют:

Одинаковая ли стоимость у Prim и Kruskal?
Есть ли ровно V - 1 рёбер?
Нет ли циклов?
Что будет, если граф несвязный? → выдаёт ошибку
Время и операции не отрицательные?
Все тесты проходят.

Вывод

Prim лучше для больших или плотных графов (быстрее).
Kruskal проще писать, но медленнее на больших данных.
Для города с кучей районов я бы выбрал Prim.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages