Dichotomie avec Python

Le code de la dichotomie est ci-dessous.

def binary_search(src, target_value):
    result = False
    lower_index = 0
    higher_index = len(src)-1
    while True:
        dst = src[lower_index:higher_index+1]
        medium_index = (lower_index + higher_index) // 2

        if src[medium_index] == target_value:
            result = True
            break

        if (higher_index - lower_index) == 1:
            break

        if target_value >= dst[medium_index]:
            lower_index = medium_index
        else:
            higher_index = medium_index
    return result


def main():
    src = [1, 2, 3, 4, 5, 6]  #Déjà trié
    target_value = 4

    if binary_search(src, target_value):
        print('Found!')
    else:
        print('Not Found')


if __name__ == '__main__':
    main()

Le résultat de l'exécution est le suivant.

Found!

Merci d'avoir lu jusqu'au bout. Revoyons-nous.

Recommended Posts

Dichotomie avec Python
Recherche binaire en Python
Recherche binaire en Python / C ++
Algorithme en Python (dichotomie)
Ecrire une dichotomie en Python
Recherche de bisection (python2.7) mémo
[Python] Recherche de bisection ABC155D
Recherche linéaire en Python
Dichotomie avec python
Dichotomie avec Python 3
Algorithme en Python (recherche de priorité de largeur, bfs)
Enregistrez le fichier binaire en Python
Créer un fichier binaire en Python
Algorithme en Python (recherche de priorité en profondeur, dfs)
Écrire une recherche de priorité en profondeur en Python
Recherche de priorité de profondeur à l'aide de la pile en Python
Quadtree en Python --2
Python en optimisation
CURL en Python
Géocodage en python
SendKeys en Python
Méta-analyse en Python
Unittest en Python
Époque en Python
Discord en Python
Allemand en Python
DCI en Python
visualiser la recherche binaire
tri rapide en python
nCr en python
N-Gram en Python
Programmation avec Python
Plink en Python
Constante en Python
ABC146C (dichotomie)
FizzBuzz en Python
Sqlite en Python
Étape AIC en Python
LINE-Bot [0] en Python
CSV en Python
Assemblage inversé avec Python
Réflexion en Python
Constante en Python
nCr en Python.
format en python
Scons en Python 3
Puyopuyo en python
python dans virtualenv
PPAP en Python
Quad-tree en Python
Réflexion en Python
Chimie avec Python
Hashable en Python
DirectLiNGAM en Python
LiNGAM en Python
Aplatir en Python
Aplatir en python