import matplotlib.pyplot as plt def fibo(n): """ fonction calculant le nombre de fibonacci et renvoyant un couple (valeur, complexité). Dans ce cas particulier, la complexité est justement égale à la valeur """ if n < 2: return (1,1) f1 = fibo(n-1) f2 = fibo(n-2) return (f1[0]+f2[0], f1[1]+f2[1]) listeFibo = [(1,1),(1,1)] def fiboMemo(n): """ fonction calculant le nombre de fibonacci avec mémoïsation et renvoyant un couple (valeur, complexité). """ if n >= len(listeFibo): f1 = fiboMemo(n-1) f2 = fiboMemo(n-2) listeFibo.append((f1[0]+ f2[0],1)) return listeFibo[n] abscisses = [n for n in range(0, 20)] ordonnees1 = list(map(lambda x: fibo(x)[1], abscisses)) ordonnees2 = list(map(lambda x: fiboMemo(x)[1], abscisses)) print(abscisses) print(ordonnees1) print(ordonnees2) plt.plot(abscisses, ordonnees1) plt.plot(abscisses, ordonnees2) plt.show()