Source: https://hal.archives-ouvertes.fr/cel-01176120/file/Algo%20vol.2%20-%20Sujets.pdf