Source: https://miashs-www.u-ga.fr/~adamj/documents/Algo28-ParcoursdeGraphes.pdf