Skip to content

[Feature]: Graph Analyzer using C++ #21

@prajwal3114

Description

@prajwal3114

So, what is it about?

C++ Graph Analyzer

Overview

This project is a Graph Analyzer implemented entirely in C++. It allows users to analyze a given graph and extract useful information about its structure and properties.

The system is designed using Object-Oriented Programming (OOP) principles, making the code modular, maintainable, and easy to extend.


Features

  • Input a graph with vertices and edges (directed or undirected, weighted or unweighted)
  • Analyze the graph to determine:
    • Whether the graph contains a cycle
    • Minimum distance between any two nodes
    • Connectivity of the graph
    • Degree of each vertex
    • Number of connected components
    • Graph density
    • Graph diameter (longest shortest path)
    • Graph radius (minimum eccentricity)
    • Eccentricity, centrality, and reachability of nodes
  • Console-based display of analysis results
  • Implements algorithmic techniques for efficient graph computation

Requirements

  • C++ Implementation: Entirely written in C++
  • Object-Oriented Design: Uses classes like Graph, Vertex, Edge, Analyzer, etc.
  • Clean Code Practices:
    • Meaningful variable and function names
    • Proper input validation and error handling
    • Well-documented methods and classes

Functionality

  • Users can provide a graph via adjacency list or edge list
  • Analyzer computes key properties of the graph:
    • Detects cycles
    • Calculates shortest paths between nodes
    • Checks for graph connectivity
    • Computes vertex degrees, graph density, diameter, radius, and number of components
    • Determines eccentricity, centrality, and reachability of nodes
  • Efficient algorithms ensure quick analysis for large graphs

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions