Skip to content

kodi73/Algorithms-usings-Graphs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

Graph Algorithms in Java

This repository contains my systematic implementation of fundamental graph and digraph algorithms in Java, created while learning graph theory and algorithmic problem-solving.

The focus of this project is conceptual clarity, correctness, and algorithmic understanding, rather than frameworks or libraries.

The repository is divided into undirected graphs (graph/) and directed graphs (digraphs/) to keep concepts clearly separated.

⚙️ Design Principles

  • No external libraries — only core Java

  • Explicit data structures (Stacks, Queues, Lists)

  • Algorithm-first approach

  • Clear separation of: graph representation, traversal logic, problem-specific algorithms

  • Inspired by classical algorithms (e.g., Euler, Hierholzer, BFS, DFS)

⏱️ Time & Space Complexity

All algorithms are implemented with optimal complexity:

▶️ How to Run

Compile:

javac graph/*.java digraphs/*.java

Run (example):

java graph.EulerCycle

Most classes contain a main() method for direct execution and testing.

📚 References

  • Algorithms, 4th Edition — Robert Sedgewick & Kevin Wayne

✍️ Author

Aditya Kumar

Learning graph algorithms with a focus on correctness, clarity, and fundamentals.

Final note

This repository is meant to learn graphs properly, not just solve problems.