Graphs
Graphs are one of the fundamental data structures used in computer science to represent complex structured information via a set of edges and vertices. There are several types of graphs used in algorithms including, but not limited to the following:
Directed graphs: These are graphs where all edges are directed from one vertex to another
Undirected graphs: These are graphs where all edges are bi-directional
Weighted graphs: These are graphs with an associated label (or weight) with every edge in the graph
Hyper graphs: These are graphs where one edge can connect to multiple vertices
From the computer science point of view, a graph is represented as an abstract data type that constitutes a set of finite nodes and edges.
A graph data structure provides a means to represent these nodes and edges, along with some of the fundamental operations commonly used in graph algorithms. These operations include adding and removing nodes and edges, getting and setting the assigned values of the nodes...