Aller au contenu

Détection de Cycle (Floyd)

Algorithmique classique

Exercice Débutant · Algo Express · prepa scientifique et economique (CPGE)

Enonce

Détecter si une liste chaînée contient un cycle en utilisant l'algorithme du lièvre et de la tortue (Floyd). Retourner True s'il y a un cycle.

Signature attendue

def a_cycle(lst: dict) -> bool:

Exemple

  • a_cycle({"val":1,"suiv":{"val":2,"suiv":{"val":3,"suiv":None}}}) → False

📖 Rappel de cours

Deux curseurs avancent, l'un d'un pas, l'autre de deux. S'il existe un cycle, le rapide rattrape forcément le lent ; sinon il atteint la fin.

⚠ Le piège : Le rapide fait deux pas : il faut vérifier à chaque tour qu'il peut les faire, sinon on déréférence None. La comparaison porte sur les maillons, pas sur leurs valeurs.

← Exercices Python pour la prépa — CPGE scientifique et ECG

Exercices du meme theme

  • Point Fixe dans une Liste Triée
  • Liste Chaînée — Création et Affichage
  • Inversion d'une Liste Chaînée
  • Fusion de Deux Listes Chaînées Triées
  • Longueur d'une Liste Chaînée
  • Arbre Binaire — Hauteur

La correction commentee, les indices progressifs, l'execution du code dans le navigateur et la verification par l'IA sont reserves aux abonnes.

Prepa🐍ython
Progresser en Python & SQL · Prépa scientifique
Essai gratuit
Testez toutes les fonctionnalités sans engagement
En continuant, vous acceptez notre politique de confidentialité.
Déjà abonné ? Se reconnecter
Recevez un lien de connexion par email
Parcourir gratuitement →
Aperçu limité · sans inscription · sans vérification IA
€4,99
/ mois · accès illimité · résiliable
Paiement sécurisé
En vous abonnant, vous acceptez nos conditions et politique de confidentialité.
Résiliation possible depuis votre espace PayPal.

Chargement...

Initialisation de l'environnement

Prepa🐍ython
Progresser en Python & SQL · Prépa scientifique
Progression
0 / 0
Solo
— / —
Python... SQL...
Recherche
🔬 Bac a sable Python ↗ 🧪 Bac a sable SQL ↗ 📝 Concours blanc ↗ 🏖️ Code à la plage ↗ 📚 Listes de rentrée ↗ 🛠️ Admin ↗
Tu aimes PrepaPython ?
Fais-le savoir !
← Retour à l'accueil Mentions legales & confidentialite