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 ?