Un graphe est composé de sommets et d'arcs allant d'un sommet à un autre (ces arcs sont orientés et ont un sens, sinon ce sont des arêtes). Il peut être représenté de manière géométrique par les points et flèches, ou de manière algébrique sous forme de listes ou de matrice d'adjacence.
Les listes d'adjacence sont des listes où pour chaque sommet sont notés ses voisins. Une matrice d'adjacence est une matrice où la case (i,j) vaut 1 si et seulement s'il y a un arc de i vers j. Dans les graphes non orientés, avoir (i,j) égal à un implique d'avoir (j,i) égal à un.
Un chemin est une suite d'arcs tels que la destination d'un arc soit le départ du suivant. Un chemin avec n sommets est de longueur n-1. La fermeture transitive d'un graphe G est le graphe G' où il y a un arc de i et j si et seulement il y avait un chemin de i à j dans G. Un circuit est un chemin qui termine sur son point de départ.
Le chemin le plus court de A à B est celui qui compte le moins d'arcs, ou dans le cas des graphes pondérés celui qui minimise la somme des poids sur ses arcs.
Le niveau d'un sommet est la longueur du plus long chemin finissant en ce sommet si le graphe n'a pas de circuits (sinon le niveau n'est pas défini).