Seth.

01

Dijkstra's Algorithm

An algorithm used for finding the shortest paths between nodes in a graph, which may represent, for example, road networks. It efficiently calculates the minimum distance from a starting node to all other nodes using a priority queue.

02

Depth First Search

A fundamental graph traversal algorithm that explores as far down a branch as possible before backtracking. It is useful for tasks such as finding connected components and performing topological sorts.

03

Breadth First Search

An algorithm for traversing or searching tree or graph data structures. It explores all neighbors at the present depth prior to moving on to nodes at the next depth level, making it ideal for finding the shortest path in unweighted graphs.

04

A* Search

A powerful pathfinding and graph traversal algorithm that uses heuristics to improve search efficiency. It combines the benefits of Dijkstra’s algorithm and greedy best-first search to find the least-cost path to the target node.

05

Bellman-Ford Algorithm

An algorithm that computes shortest paths from a single source vertex to all other vertices in a graph, even if the graph has edges with negative weights. It is capable of detecting negative cycles in the graph.

06

Floyd-Warshall Algorithm

A dynamic programming algorithm used to find the shortest paths in a weighted graph with positive or negative edge weights (but with no negative cycles). It calculates the shortest paths between all pairs of vertices efficiently.

07

Kruskal's Algorithm

An algorithm for finding the minimum spanning tree of a graph. It works by sorting the edges and adding them one by one to the spanning tree, ensuring that no cycles are formed, ultimately resulting in the minimum cost.

08

Prim's Algorithm

An algorithm that finds a minimum spanning tree for a weighted undirected graph. It starts from an arbitrary node and grows the spanning tree by adding the lowest-weight edge connecting the tree to a vertex outside the tree.

09

Topological Sort

An algorithm used to order the vertices of a directed acyclic graph (DAG) such that for every directed edge from vertex A to vertex B, vertex A comes before vertex B in the ordering. It is essential for scheduling tasks with dependencies.

10

Tarjan's Algorithm

An efficient algorithm for finding strongly connected components in a directed graph. It uses depth-first search and can find all components in linear time relative to the number of vertices and edges.

11

Kosaraju's Algorithm

An algorithm that finds strongly connected components in a directed graph using two passes of depth-first search. It first processes the original graph and then the transposed graph to identify all strongly connected components efficiently.