Данная библиотека предназначена для реализации различных алгоритмов поиска кратчайшего пути с учетом стоимости, таких как алгоритмы Форда-Беллмана, Дейкстры и другие. Экспериментальная среда будет позволять тестировать и сравнивать производительность этих алгоритмов на различных данных.
Задача SSSP (single-source shortest path problem): Найти расстояния от выделенной вершины s до всех вершин
Задача APSP (all pairs shortest path problem): Найти расстояния между всеми парами вершин, матрицу расстояний (SSSP ⊂ APSP)
- DFS (SSSP)
- BFS + queue (SSSP)
- BFS + deque (SSSP)
- Dijkstra (SSSP)
- Dijkstra + fib-heap (SSSP)
- A* (SSSP)
- Ford-Bellman (SSSP)
- Floid (APSP)
Подробнее в документации по алгоритмам
- Build the project with tests and micro benchmarking:
git clone [email protected]:HSE-Software-Development/algorithms_analysis.git
cd algorithms_analysis
sh scripts/build_algo_analysis.sh
Если вы не хотите запускать тесты автоматически после сборки библиотеки то:
sh scripts/build_algo_analysis.sh 0
- Run the tests:
cd cpp/build
./tests/algo_analysis_tests
До слез
Также у вас есть возможность дополнять нашу библиотеку алгоритмов путем реализации наследников класса Algorithm
(см. архитектурную документацию).
Тестовая среда позволяет замерять время и память при инициализации и работе алгоритма. Для этого Task
предоставляет метод estimate
(см. примеры).
Запуск бенчмарков.
cd cpp/build/micro_benchmarks
./DFSBenchmark # or another algorithm
This project is licensed under the MIT license