Проект представляет собой программу на C++, которая находит кратчайшие расстояния от заданной вершины до всех остальных вершин в ненаправленном графе с использованием алгоритма поиска в ширину (BFS).
Программа считывает граф из файла, затем с помощью алгоритма BFS вычисляет кратчайшие расстояния от заданной вершины до всех остальных вершин. Результаты выводятся на экран.
Входной файл должен иметь следующую структуру:
<количество вершин>
<количество рёбер>
<ребро 1> <ребро 2>
<ребро 1> <ребро 3>
...
<номер вершины, от которой нужно посчитать расстояния>
Пример входного файла graph.txt:
5
4
0 1
0 4
1 2
1 3
4
Где:
- Первая строка — количество вершин графа.
- Вторая строка — количество рёбер.
- Следующие строки описывают рёбра графа в формате
u v, где существует рёбер от вершиныuдо вершиныv. - Последняя строка — номер вершины, от которой нужно посчитать расстояния.
Для тестового файла graph.txt будет выведен следующий результат:
1
2
3
3
0
-
Клонируйте репозиторий:
git clone https://github.com/Vlasdislav/MyGraph.git cd MyGraph -
Соберите и скомпилируйте проект:
cmake build . cmake --build .
-
После успешной сборки, запустите программу:
./GraphProject <путь_к_файлу_с_графом>
Например:
./GraphProject graph.txt
Проект не имеет внешних зависимостей и использует стандартную библиотеку C++.
Этот проект распространяется под лицензией MIT. См. файл LICENSE для подробностей.