Here are some important properties you should know about different types of graphs.
An entity in the graph. Vertices are a set of items with common properties that have some sort of relation.
Edges express relation between two vertices. If the vertices are connected with
an edge this means that there is relation between them. The relation could
be some custom property. E.g: are_friends(a, b) => true
,
are_connected(Sofia, Plovdiv) => false
.
A graph which edges have no direction. They could be interpreted as bidirectional connections.
A graph which edges have a direction. This means that if a node a
is
related to another node b
the reverse might not be true.
Graphs without edge weights are called unweighted. Edges of unweighted graphs are considered equals.
Graphs with edge weights are called weighted. Edges are threated differently in algorithms with respect to their weights.
Simple graphs allow single edge connecting two vertices.
Multigraphs allow more than one edge to connect two vertices.
Acyclic graphs are graphs that do not have cycles in paths between any two vertices.
Cyclic graphs are graphs that have at least one cycle in paths between any two vertices.
A subgraph where every any two vertices are connected with a path.