Skip to content

Conversation

@ADARSHsri2004
Copy link
Contributor

@ADARSHsri2004 ADARSHsri2004 commented Oct 24, 2025

Description

This pull request adds the C++ Graph Analyzer, a fully object-oriented tool for analyzing graph structures and computing various graph properties.

The system enables users to input graphs (directed/undirected, weighted/unweighted) and performs an in-depth analysis including cycle detection, shortest paths, connectivity, and calculation of multiple metrics like degree, density, diameter, radius, eccentricity, and centrality.

All functionalities are implemented using Object-Oriented Programming (OOP) principles for modularity, maintainability, and scalability.

Features Implemented

  • Input handling for adjacency list and edge list formats
  • Cycle detection
  • Shortest path computation (Dijkstra / Floyd–Warshall)
  • Connectivity check (BFS / DFS)
  • Computation of:
    • Vertex degrees
    • Number of connected components
    • Graph density
    • Graph diameter and radius
    • Eccentricity, centrality, and reachability
  • Console-based reporting of results
  • Proper input validation and error handling

Design Highlights

  • Modular class-based design (Graph, Vertex, Edge, Analyzer)
  • Clean and maintainable codebase
  • Efficient algorithms optimized for large graphs
  • Well-documented methods and classes

Semver Changes

  • Patch (bug fix, no new features)
  • Minor (new features, no breaking changes)
  • Major (breaking changes)

Issues

Closes: #21


Checklist

@prajwal3114 prajwal3114 merged commit 22c11df into OPCODE-Open-Spring-Fest:main Oct 27, 2025
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: Graph Analyzer using C++

2 participants