Graph algorithms are a set of instructions that traverse (visits the nodes of a) graph.
Some algorithms are used to find specific nodes, or the path between two given nodes.
Graphs are very useful data structures which can be used to model various problems. These algorithms have direct applications on Social Networking sites, State Machine modeling and many more.
Some of the most common graph algorithms are:
- Breadth First Search (BFS)
- Depth First Search (DFS)
- Dijkstra
- Floyd Warshall Algorithm
There are different types of graphs, like undirected, directed, weighted, unweighted, etc. All graphs have nodes and edges, but there are different structures and properties between different data types.
Undirected graphs have directionless edges between nodes.
Directed graphs have edges that point in a given direction. Directed graphs can only be traversed in the direction the edges point.
Unweighted graphs have zero value edges, while weighted graphs have non-zero value edges. These values can be positive or negative.