Visualize and understand the complex relationships and traversals in graph structures through interactive demonstrations
Dijkstra's algorithm finds the shortest path between nodes in a graph with non-negative edge weights. It uses a priority queue to greedily select the closest unvisited vertex.
BFS is a graph traversal algorithm that explores all vertices at the present depth before moving on to vertices at the next depth level. It's ideal for finding the shortest path on unweighted graphs.
DFS is a graph traversal algorithm that explores as far as possible along each branch before backtracking. It's useful for topological sorting, detecting cycles, and maze generation.
The Bellman-Ford algorithm computes shortest paths from a single source vertex to all other vertices, even with negative edge weights. It can detect negative cycles in a graph.
Prim's algorithm finds a minimum spanning tree for a weighted undirected graph, connecting all vertices with the minimum possible total edge weight.
Kruskal's algorithm finds a minimum spanning tree for a connected weighted graph, adding the smallest edge at each step that doesn't form a cycle.
Topological sorting arranges the nodes of a directed acyclic graph in a linear ordering such that for every directed edge (u, v), vertex u comes before v.
A strongly connected component is a portion of a directed graph in which there is a path from each vertex to every other vertex. Kosaraju's or Tarjan's algorithms can find them.