Concept
A graph G = (V, E) is a non-linear data structure consisting of vertices (nodes) connected by edges, used to model networks, routing paths, and relationships.
Construct custom weighted networks, trace Dijkstra shortest paths, compute Kruskal Minimum Spanning Trees, test 2-colorability, and simulate Ford-Fulkerson maximum network flow step by step. Learn the concept, operation flow, complexity, and real-world use cases through a focused OpenLabs interactive visualizer.
A graph G = (V, E) is a non-linear data structure consisting of vertices (nodes) connected by edges, used to model networks, routing paths, and relationships.
Graph algorithms traverse or optimize network topologies using greedy relaxations (Dijkstra), disjoint set cycle checks (Kruskal), level-order exploration (BFS), or augmenting residual paths (Ford-Fulkerson).
Dijkstra: O((V + E) log V), Kruskal: O(E log E), BFS: O(V + E), Max Flow: O(V E²)
Watch each operation update the structure or algorithm state step by step.
Graph algorithms traverse or optimize network topologies using greedy relaxations (Dijkstra), disjoint set cycle checks (Kruskal), level-order exploration (BFS), or augmenting residual paths (Ford-Fulkerson). The lab makes every state change visible, helping students connect DSA theory with practical algorithm behavior.
Construct and manipulate directed and undirected weighted graphs.
Trace Dijkstra, BFS, and Bellman-Ford shortest path algorithms with live distance tables.
Compare Kruskal's (DSU) and Prim's cut-property Minimum Spanning Tree algorithms.
Solve chromatic vertex coloring and evaluate bipartite graph 2-colorability.
Simulate Ford-Fulkerson / Edmonds-Karp maximum network flow along residual capacity paths.
Open the Graph Algorithms & Network Flow lab, run the available operation controls, and watch the visual state update immediately. Use the animation to trace the operation order, compare complexity, and verify your understanding.
Explore linked lists by watching nodes connect through pointers while insertion, deletion, and traversal operations update the structure.
Understand queue behavior by adding items at the rear and removing them from the front in first-in, first-out order.
Explore stack operations by pushing values on top, popping the latest value, and seeing last-in, first-out behavior clearly.
Watch bubble sort compare neighboring values, swap them when needed, and move larger values toward the end of the array.
Explore heap sort by building a max heap, moving the root to the sorted region, and heapifying the remaining array.
Watch insertion sort build a sorted prefix by picking one key at a time and inserting it into the correct position.
Dijkstra uses a priority queue to greedily visit the unvisited node with the smallest tentative distance, updating/relaxing neighbor distances until the target is reached.
Kruskal sorts all edges globally and uses Union-Find (DSU) to avoid cycles. Prim starts from a seed vertex and greedily grows a single cut-property tree outward.
It computes maximum network flow by iteratively finding augmenting paths in a residual capacity graph using BFS (Edmonds-Karp) until no more capacity paths exist.
Launch the visualizer, trace each step, and build confidence with data structures and algorithms through hands-on learning.