Erfahren Sie, wie Sie in Python eine binäre Suche verwenden, um Elemente in einer Liste effizient zu finden. Eine Schritt-für-Schritt-Anleitung für Einsteiger.
---
Dieses Video basiert auf der Frage https://stackoverflow.com/q/62241768/ gestellt von dem Nutzer 'weakprogrammer' ( https://stackoverflow.com/u/13698233/ ) sowie auf der Antwort https://stackoverflow.com/a/62241977/ bereitgestellt von dem Nutzer 'PSKP' ( https://stackoverflow.com/u/8507296/ ) auf der Website 'Stack Overflow'. Vielen Dank an diese großartigen Nutzer und die Stackexchange-Community für ihre Beiträge.
Besuchen Sie diese Links, um den Originalinhalt und weitere Details zu sehen, z. B. alternative Lösungen, aktuelle Entwicklungen zum Thema, Kommentare, Versionsverlauf usw. Der ursprüngliche Titel der Frage lautete beispielsweise: binary search basic feature
Außerdem steht der Inhalt (außer Musik) unter der Lizenz CC BY-SA https://meta.stackexchange.com/help/l...
Der ursprüngliche Fragenbeitrag steht unter der Lizenz 'CC BY-SA 4.0' ( https://creativecommons.org/licenses/... ), und der ursprüngliche Antwortbeitrag steht unter der Lizenz 'CC BY-SA 4.0' ( https://creativecommons.org/licenses/... ).
Falls Ihnen irgendetwas auffällt oder Unstimmigkeiten bestehen, schreiben Sie mir bitte an vlogize [AT] gmail [DOT] com.
---
Wie man Binary Search in Python implementiert: Ein Leitfaden für Einsteiger
Wenn Sie gerade erst mit dem Programmieren beginnen, sind Sie möglicherweise schon auf verschiedene Datenstrukturen und Algorithmen gestoßen. Ein grundlegender Algorithmus, den Sie kennen sollten, ist die binäre Suche (binary search). Dieser leistungsstarke Suchalgorithmus ermöglicht es Ihnen, ein Element in einer sortierten Liste effizient zu finden. In diesem Blogbeitrag unterteilen wir den Prozess der Implementierung der binären Suche in Python und verwenden ein praktisches Beispiel, um ihre Funktionsweise zu veranschaulichen.
Das Problem verstehen
Beginnen wir mit dem Beispiel. Sie haben eine Liste von Tupeln, wobei jedes Tupel Informationen über ein Tier enthält. So sieht die Liste aus:
[[Siehe Video, um diesen Text oder Codeausschnitt anzuzeigen]]
Nehmen wir an, Sie möchten, dass ein Benutzer irgendeine Zahl eingeben kann, z.B. 573, und Ihr System soll diese Zahl in der Liste finden. Wird sie gefunden, soll das System das gesamte Tupel anzeigen, das mit dieser Zahl verknüpft ist. In unserem Beispiel wäre die erwartete Ausgabe für 573:
[[Siehe Video, um diesen Text oder Codeausschnitt anzuzeigen]]
Warum binäre Suche verwenden?
Die binäre Suche ist besonders effektiv bei der Suche in sortierten Listen, da sie die Anzahl der notwendigen Vergleiche deutlich reduziert. Anstatt jedes Element einzeln zu prüfen (wie bei der linearen Suche), teilt die binäre Suche die Liste bei jedem Durchlauf in der Mitte, was zu einer schnelleren Suchzeit führt – ideal für größere Datensätze.
Schritt-für-Schritt-Lösung
Tauchen wir nun in die Implementierung des binären Suchalgorithmus in Python ein. Im Folgenden führe ich Sie durch den Code und erkläre jeden Teil Schritt für Schritt.
Die Funktion für binäre Suche
Hier ist der Kern unserer Lösung:
[[Siehe Video, um diesen Text oder Codeausschnitt anzuzeigen]]
Erklärung des Codes:
Funktionsdefinition: Die Funktion binary_search hat vier Parameter:
a: Die Liste, in der gesucht werden soll.
x: Der Wert, nach dem gesucht wird.
lo: Die untere Grenze der Suche (Standard ist 0).
hi: Die obere Grenze der Suche (Standard ist die Länge der Liste).
Initialisierung: Wenn hi nicht angegeben wird, setzen wir ihn auf die Länge der Liste.
While-Schleife: Die Schleife läuft, solange die untere Grenze kleiner als die obere ist:
Berechnung des mittleren Index (mid).
Vergleich des mittleren Werts mit x.
Anpassung der Grenzen (lo und hi) je nach Vergleichsergebnis.
Rückgabewert: Wenn x gefunden wird, wird der Index zurückgegeben; andernfalls -1, was bedeutet, dass das Element nicht gefunden wurde.
Die Suche ausführen
Nachdem wir unsere Funktion für die binäre Suche definiert haben, verwenden wir sie nun, um nach 573 zu suchen, wie im anfänglichen Problem beschrieben.
[[Siehe Video, um diesen Text oder Codeausschnitt anzuzeigen]]
Erwartete Ausgabe
Wenn Sie den obigen Code ausführen und 573 gefunden wird, lautet die Ausgabe:
[[Siehe Video, um diesen Text oder Codeausschnitt anzuzeigen]]
Wenn nicht, wird Folgendes angezeigt:
[[Siehe Video, um diesen Text oder Codeausschnitt anzuzeigen]]
Fazit
In diesem Blogbeitrag haben wir untersucht, wie man eine binäre Suche in Python durchführt, am Beispiel von Tieren, die in Tupeln gespeichert sind. Sie haben gelernt, wie der Algorithmus funktioniert, welche Vorteile er gegenüber linearen Suchmethoden bietet, und wie man ihn Schritt für Schritt implementiert. Mit diesem Grundwissen sind Sie bereit, mit komplexeren Datenstrukturen und Algorithmen zu experimentieren. Viel Spaß beim Programmieren!
Информация по комментариям в разработке