Memo zur Bisektionssuche (python2.7)

Aus dem Buch "Natoku! Algorithmus" Für Memorandum


def binary_search(list, item):
    low = 0                               #Verfolgen Sie den Suchteil der Liste mit niedrig und hoch
    high = len(list) - 1
    
    while low <= high:
        mid = (low + high) // 2
        guess = list[mid]          #Untersuche das Element in der Mitte
        if guess == item:        #Gegenstand erkennen
            return mid     #Wenn die Antwort richtig ist, Mitte(index)Gib es zurück
        if guess > item:    #Die erratene Zahl war zu groß
            high = mid -1
        else:                   #War zu klein
            low = mid + 1
    return None    #Wenn Sie es nicht finden können, keine

my_list = [1,3,5,7,9]

print binary_search(my_list, 3) #Die Antwort ist 3

2222222 # log2(100) = 7 log2 (100) gibt an, wie oft 2 multipliziert werden soll, um 100 zu erhalten Die Antwort ist 7

Es stellte sich heraus, dass die Anzahl der Suchvorgänge durch logarithmische Konvertierung ermittelt werden kann.

Recommended Posts

Memo zur Bisektionssuche (python2.7)
Dichotomie mit Python
[Python] Bisection-Suche ABC155D
Dichotomie mit Python
Dichotomie mit Python 3
Binäre Suche in Python
Python-Memo
Python-Memo
Python-Memo
Binäre Suche in Python / C ++
Algorithmus in Python (Dichotomie)
Python-Memo
Python-Memo
Python-Memo
Schreiben Sie eine Dichotomie in Python
Python-Anfänger-Memo (9.2-10)
Python-Anfänger-Memo (9.1)
Visualisieren Sie die binäre Suche
★ Memo ★ Python Iroha
ABC146C (Dichotomie)
[Python] EDA-Memo
Python 3-Operator-Memo
[Mein Memo] Python
Python3-Metaklassen-Memo
[Python] Grundkarten-Memo
Python-Anfänger-Memo (2)
[Python] Numpy Memo
Algorithmus in Python (ABC 146 C Dichotomie
Python-Klasse (Python-Lernnotiz ⑦)
Sequentielle Suche mit Python
Python OpenCV Installation (Memo)
Python-Modul (Python-Lernnotiz ④)
Visualisierungsnotiz von Python
Python-Übung 1-Breiten-Prioritätssuche
[Python] Suche (itertools) ABC167C
[Python] Binary Acing 2020D
Python-Testpaket-Memo
[Python] Memo über Funktionen
[Python] Suche (NumPy) ABC165C
Python-Memo für reguläre Ausdrücke
[Mein Memo] Python -v / Python -V
Python3-Memo vom Typ Liste / Wörterbuch
[Memo] Python 3-Listensortierung
Python-Tipps (mein Memo)
[Python] Memo Über Fehler
DynamoDB Script Memo (Python)
Python Bit vollständige Suche
Lineare Suche in Python
Python-Grundnotiz - Teil 2
Python-Rezeptbuch Memo
Grundlegende Python-Befehlsnotizen
Python OpenCV Tutorial Memo
Suchen Sie Twitter mit Python
Python grundlegende Grammatik Memo
TensorFlow API-Memo (Python)
Python nützliche Memo-Links
Python-Dekorator-Operationsnotiz