La façon d'analyser un algorithme est par la détermination de son pire des scénarios.
Euclidienne, PGCD dans le pire des cas se produit lorsque Fibonacci Paires sont impliqués.
void EGCD(fib[i], fib[i - 1])
, où j'ai > 0.
Par exemple, nous allons opter pour le cas où le dividende est de 55 ans, et le diviseur est de 34 (rappelons que nous sommes toujours aux prises avec les nombres de fibonacci).
Comme vous pouvez le remarquer, cette opération a coûté 8 itérations (ou les appels récursifs).
Essayons de plus grands nombres de Fibonacci, à savoir 121393 et 75025. On peut remarquer ici qu'il a fallu 24 itérations (ou les appels récursifs).
Vous pouvez également remarquer que chaque itérations donne un nombre de Fibonacci. C'est pourquoi nous avons beaucoup d'opérations. Nous ne pouvons pas obtenir les mêmes résultats qu'avec la suite de Fibonacci en effet.
Par conséquent, la complexité du temps va être représentée par de petits Oh (limite supérieure), cette fois. La limite inférieure est intuitivement Omega(1): cas de l'500 divisé par 2, par exemple.
Nous allons résoudre la relation de récurrence:
Nous pouvons donc dire que Euclidienne, PGCD peut faire log(xy) de l'opération au plus.