La complexité d'un algorithme récursif s'exprime en règle générale par l'intermédiaire d'une relation de récurrence. Par exemple, l'affichage des éléments d'une liste chaînée, donné par l'algorithme suivant :
Soit le nombre d'instructions élémentaires exécutées par
si la liste
comporte
maillons. Si
,
l'algorithme s'exécute en temps constant. Sinon, l'appel récursif
nécessite
opérations, les autres opérations (au nombre de
) s'exécutent en temps constant. On définit donc
comme suit :
, comment exprimer
en fonction de
, de
et de
?