Maison >développement back-end >Tutoriel Python >Comment implémenter un algorithme de recherche binaire en utilisant Python ?

Comment implémenter un algorithme de recherche binaire en utilisant Python ?

PHPz
PHPzoriginal
2023-09-20 13:24:241532parcourir

Comment implémenter un algorithme de recherche binaire en utilisant Python ?

Comment implémenter un algorithme de recherche binaire en utilisant Python ?

L'algorithme de recherche binaire, également connu sous le nom d'algorithme de recherche binaire, est un algorithme de recherche efficace. Il fonctionne sur des tableaux ou des listes ordonnés, en limitant la recherche en comparant la valeur cible aux éléments au milieu du tableau. Ce qui suit présentera comment implémenter l'algorithme de recherche binaire en Python et fournira des exemples de code spécifiques.

  1. Idée d'algorithme :
  2. Comparez la valeur cible avec l'élément au milieu du tableau ;
  3. Si elle est égale, renvoyez la position de l'élément
  4. Si la valeur cible est supérieure à l'élément au milieu, continuez la recherche dans ; la moitié droite ;
  5. Si la valeur cible est inférieure à l'élément en position médiane, continuez la recherche dans la moitié gauche ;
  6. Réduisez continuellement la plage de recherche de moitié jusqu'à ce que la valeur cible soit trouvée ou que la plage de recherche soit vide.
  7. Implémentation du code :
    Ce qui suit est un exemple de code utilisant Python pour implémenter l'algorithme de recherche binaire :
def binary_search(arr, target):
    left = 0
    right = len(arr) - 1
    
    while left <= right:
        mid = (left + right) // 2
        if arr[mid] == target:
            return mid
        elif arr[mid] < target:
            left = mid + 1
        else:
            right = mid - 1
    
    return -1
  1. Exemple d'utilisation :
    Ensuite, nous utilisons un tableau ordonné pour effectuer l'opération de recherche réelle. Supposons qu’il existe un tableau arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] disposé par ordre croissant et que nous voulons trouver la position du nombre 10.
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
target = 10

result = binary_search(arr, target)

if result != -1:
    print("目标值在数组中的位置是:", result)
else:
    print("数组中不存在目标值。")

Une fois le code ci-dessus exécuté, le résultat de sortie est : "La position de la valeur cible dans le tableau est : 9".

  1. Résumé :
    Grâce à l'introduction de cet article, nous avons appris à utiliser Python pour implémenter l'algorithme de recherche binaire. Cet algorithme est très efficace dans la recherche de valeurs cibles dans des tableaux ou des listes ordonnés et peut considérablement améliorer la vitesse de recherche. Dans les applications pratiques, nous pouvons optimiser de manière appropriée l’algorithme de recherche binaire selon les besoins pour répondre aux besoins d’un plus grand nombre de scénarios. Dans le même temps, nous pouvons également utiliser des méthodes récursives pour implémenter l'algorithme de recherche binaire, mais veillez à éviter les problèmes de débordement de pile.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn