Source: https://www.eyrolles.com/download/9782212133660/conception_d_algorithmes.pdf