Adloun

Python (école d'ingénieur) · Chapitre 6 · Exercice

Tours de Hanoï

Complexité algorithmique

Énoncé

L'algorithme classique des tours de Hanoï résout le problème en déplaçant disques de la manière suivante :

def hanoi(n, source, cible, auxiliaire):
    if n == 1:
        print(f"Déplacer {source} -> {cible}")
    else:
        hanoi(n-1, source, auxiliaire, cible)
        print(f"Déplacer {source} -> {cible}")
        hanoi(n-1, auxiliaire, cible, source)
  • Établir la relation de récurrence du nombre de déplacements .
  • Résoudre cette récurrence et démontrer que .
  • Déterminer la complexité temporelle et spatiale.

Un exercice à chercher : son corrigé n'est pas publié. Sur Adloun, le tuteur guide par questions, sans donner la réponse.

100 % gratuit

Cet exercice se cherche avec le tuteur

Chercher avec le tuteur

Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice guidé gratuit →