An educational implementation of graph data structures and algorithms with interactive visualizations
- Template-based undirected weighted graph
- Average O(1) time complexity for basic operations (hash table-based storage)
- JSON serialization support
- Smart pointer-based memory management
- Complete Graph
- Path Graph
- Cycle Graph
- Star Graph
- Random Tree
- Bipartite Graph
- Grid Graph
- Hypercube Graph
Each algorithm includes animated visualization using Manim showing step-by-step execution
- C++20 compatible compiler
- CMake 3.30 or higher
- Python 3.8+ (for visualization)
- Dependencies:
- Google Test
- Manim (installed automatically)
Important: This repository uses git submodules. Clone with:
git clone --recursive https://github.com/Niko256/Graph_Algorithms.git
Then build:
mkdir build && cd build
cmake ..
make
make tests
./tests
make graphs
./graphs