Source: http://fmi.univ-tiaret.dz/images/1lmd/2019-2020/S2/Algo/ASDD2_Cours-en-ligne_chp1_19-20_to.pdf