Этот проект посвящен реализации и визуализации алгоритмов на графах. Он содержит набор инструментов для генерации графов, реализации алгоритмов поиска кратчайших путей, работы с циклами и визуализации данных графов. Ваш проект идеально подойдет как для учебных целей, так и для прикладного использования.
- Генерация случайных графов с настраиваемыми параметрами:
- Количество вершин
- Орентированность
- Плотность
- Максимальный вес ребер
- Реализация популярных алгоритмов на графах:
- Алгоритм Дейкстры
- Алгоритм A* (А-Звезда) с эвристической функцией
- Нахождение эйлерова цикла
- Поиск кратчайшего пути между вершинами
- Визуализация графов:
- Создание графических видео-обзоров работы с графами
- Убедитесь, что у вас установлен Python версии 3.13.0 или выше.
- Склонируйте репозиторий:
git clone https://github.com/yourusername/Algorithms_on_graphs.git cd Algorithms_on_graphs - Установите зависимости:
pip install -r requirements.txt
Основной файл для запуска находится в main.py. Для запуска доступны разные параметры, такие как размер графа, направленность, плотность, а также выбор алгоритма и создание видео. Пример запуска с терминала:
python main.pyПример вызова функции из main.py для тестирования алгоритмов на графах:
from main import run_algorithms_on_graphs
run_algorithms_on_graphs(
size=10,
directed=True,
density=0.4,
max_weight=15,
create_graph_video=True
)- Генерация случайных графов с функцией
generate_random_graph. - Запуск алгоритмов:
- Дейкстра (
dijkstra) для поиска кратчайшего пути. - A* с функцией
heuristicдля оптимизации пути.
- Дейкстра (
- Создание графического видео с помощью библиотеки визуализации.