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)

terminology

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