Back to Projects
CompletedJavaCLIAlgorithms

DirectedGraphAcyclicityChecker

AJava-basedcommand-linetoolthatanalyzesdirectedgraphs,detectscyclicdependencieswithDFS,reconstructstheexactcyclepath,andbenchmarkstraversalperformance.

CycleDetectionWithExactPathRecovery

Thecheckerdoesmorethanreturntrueorfalse.Itpinpointsthecycle,extractsthenodesequence,andmeasuresthealgorithmsotheoutputisusefulfordebuggingandanalysis.

01Project Overview

This project was built to detect cyclic dependencies in directed graphs with an optimized depth-first search approach. It is useful for understanding dependency chains, deadlock-style loops, and other network structures where cycles are a problem.

Instead of stopping at a boolean result, the application reconstructs the exact cycle path when one is found, which makes the output actionable for diagnosis and teaching.

02Key Features

DFS Cycle Detection

Traverses nodes and edges with O(V + E) complexity while tracking recursion state for cycle discovery.

Cycle Path Extraction

Reconstructs the exact loop sequence instead of only reporting that a cycle exists.

Graph Parsing

Loads structured text input into a fully initialized graph model ready for analysis.

Performance Benchmarking

Includes timing instrumentation to measure the algorithm's execution latency in milliseconds.

Technical Specifications

Language
Java

Built with core language features and object-oriented design principles.

Interface
Command-Line Tool

Simple CLI workflow for graph ingestion and cycle analysis.

Data Structure
Adjacency List

Memory-efficient graph representation for sparse directed networks.

Core Classes
Parser, Generator, Checker

The system is divided into tightly scoped components for parsing, generation, traversal, and reporting.

Strategic Value
Algorithms Showcase

Demonstrates graph theory fundamentals, recursion, and clean OOP design in one focused utility.