Aller au contenu

Recherche Dichotomique

Diviser pour mieux chercher

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

Enonce

Soit T une liste d'entiers triée croissante. Retourner l'indice de x dans T, ou -1 si absent.

⚠ Contrainte : Complexité $O(\log n)$ obligatoire.

Signature attendue

def recherche_dicho(T: list, x: int) -> int:

Exemples

  • recherche_dicho([1,3,5,7,9,11,15,21,34,55], 11) → 5
  • recherche_dicho([1,3,5,7,9,11,15,21,34,55], 4) → -1

📖 Rappel de cours

La recherche dichotomique s'applique à une liste triée. À chaque étape, on compare l'élément cherché à l'élément médian et on élimine la moitié du tableau restant.

Invariant :

Si $x$ est dans le tableau, alors $x \in T[g..d]$

Complexité :

$T(n) = T(n/2) + O(1) \Longrightarrow T(n) = O(\log n)$

← Exercices d'algorithmique en Python — tris, dichotomie, récursivité

Exercices du meme theme

  • Suite de Fibonacci
  • Tri à Bulle (Bubble Sort)
  • Tri par Insertion

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