A Graph Algorithm is an algorithm which solves a problem in a fundamental subcategory of Mathematics, Graph Theory.
This repository features all the favorite graph algorithms. Graphs are represented in CSR format to save space which is implemented using C++.
Graphs can either be constructed from scratch using addEdge function, or can be loaded from a file that contains the list of edges.
-Graph Traversal Algorithms: Breadth First Search (using queue), Depth First Search (using stack)
-Shortest Path Algorithms: Dijkstra, Bellman-Ford, Floyd-Warshall
-Minimum Spanning Tree: Kruskal Algorithm
-Cycle Detection Algorithm using DFS
-Graph Coloring Algorithms: Standard Greedy, Incidence, Saturation
-Graph Node Metrics: Closeness Centrality, Clustering Coefficient, Page Rank and Degree 1,2,3
-Finding Diameter of a Graph using BFS
-Finding the Number of Triangles in a Graph using matrix multiplication