CSE 100: Advanced Data Structures

Graph Implementation Project

C++ program that creates a graph using customized classes with basic properties as well as returning the shortest paths from parameterized nodes using different algorithms.
Graph theory

This program reads a provided .csv file, a creates a comprehensive graph using C++'s data structure library (tuple , vector , queue , etc.). Utilizing custom classes to implement the graph, it helps represent a complex network of relationships using node and edge management, eventually going beyond basic representation and implementing traversal algorithms to return the shortest defined paths. With algorithms such as Breadth-First Search (BFS), Depth-First Search (DFS), and Dijkstra's algorithm, each traversal returns the specific path based on the provided node. Additionally, the implementation incorporates disjoint set operations with union functionality, providing a robust toolkit for graph analysis and manipulation. Through carefully designed classes and methods, the program enables users to explore graph properties, perform sophisticated network traversals, and solve complex pathfinding problems with efficiency and precision.

Original picture is accessible here.