Bellman-Ford Algorithm
The Bellman-Ford algorithm is a graph-searching algorithm that calculates the shortest paths from a single source vertex to all other vertices in a weighted graph. It is particularly useful for graphs containing negative weight edges.
Dijkstra's Algorithm
Dijkstra's algorithm is a graph search algorithm that finds the shortest paths from a single source node to all other nodes in a weighted graph with non-negative edge weights. It was conceived by computer scientist Edsger W. Dijkstra in 1956 and published three years later.
Floyd-Warshall Algorithm
The Floyd-Warshall Algorithm is a dynamic programming method used to find the shortest paths between all pairs of nodes in a weighted graph. This algorithm can handle both directed and undirected graphs and works with graphs that have negative weight edges, though it cannot handle graphs with negative weight cycles.
Graph algorithms
Graph algorithms are a set of instructions or procedures designed to perform specific tasks on graph data structures. A graph is a collection of nodes (also known as vertices) connected by edges. Graphs are used to model various types of relationships and processes in physical, biological, social, and information systems. The study and application of graph algorithms are central to numerous fields, including computer science, mathematics, network analysis, and social sciences, due to their ability to efficiently solve problems related to connectivity, flow, and routing within complex networks.
Kruskal's algorithm
Kruskal's algorithm is a popular method used to find the minimum spanning tree (MST) for a connected, weighted, undirected graph. The goal of the algorithm is to find a subset of the graph's edges that forms a tree that includes every vertex, where the total weight of all the edges in the tree is minimized. This algorithm is categorized under greedy algorithms because it finds a local optimum with the hope that this leads to a global optimum.
Prim's Algorithm
Prim's Algorithm is a popular and efficient greedy algorithm used to find the Minimum Spanning Tree (MST) of a weighted, undirected graph. This algorithm helps to find a subset of the graph's edges that forms a tree including every vertex, where the total weight of all the edges in the tree is minimized.