Skip to content

Niko256/Graph_Algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

An educational implementation of graph data structures and algorithms with interactive visualizations

Project Overview

Graph Implementation

  • 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

Graph Generators

  • Complete Graph
  • Path Graph
  • Cycle Graph
  • Star Graph
  • Random Tree
  • Bipartite Graph
  • Grid Graph
  • Hypercube Graph

Visualization

Each algorithm includes animated visualization using Manim showing step-by-step execution

Prerequisites

  • C++20 compatible compiler
  • CMake 3.30 or higher
  • Python 3.8+ (for visualization)
  • Dependencies:
    • Google Test
    • Manim (installed automatically)

Installation

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

Build tests

make tests
./tests

Build project without tests

make graphs
./graphs

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published