a graph $G = (V,E)$ is a general data structure that consists of:
they may contain cycles, and there is no implicit order of items
(note: trees are a type of graph with no cycles and linked list are a type of tree)
vertices directly connected by an edge are adjacent / neighbours
an edge connecting two nodes n1 and n2 is said to be incident on both n1 and n2
degree of a vertex = number of edges incident = number of neighbours it has
vertex = node
edge = link
path = sequence of vertices where each vertex has an edge to its predecessor
cycle = a path where the last vertex is the same as the first vertex
bridge = an edge, that if removed, would cause the number of connected components to increase
length of a path = number of edges in a path