Was ist der Unterschied zwischen linearer Suche und binärer Suche?

Inhaltsverzeichnis:

Anonim

Die Hauptunterschied zwischen linearer Suche und binärer Suche ist das eine binäre Suche (auch bekannt als Halbintervallsuche oder logarithmische Suche) ist effizienter und benötigt minimale Zeit zum Durchsuchen eines Elements als eine lineare Suche (oder sequentielle Suche).

Suchen ist eine Operation, die es ermöglicht, ein Element in einer bestimmten Datenstruktur wie einem Array zu finden. Es gibt zwei Sucharten als lineare Suche und binäre Suche. Die lineare Suche überprüft die Elemente eines Arrays nacheinander in einer sequentiellen Reihenfolge, um herauszufinden, ob das erforderliche Element im Array vorhanden ist. Andererseits ist die binäre Suche ein effizienterer Algorithmus als die lineare Suche, da sie das Element sucht, indem sie es mit dem mittleren Element vergleicht.

Binäre Suche, Lineare Suche, Suchalgorithmus

Was ist lineare Suche?

Die lineare Suche ist ein einfacher Suchalgorithmus. Hier erfolgt die Suche von einem Element nach dem anderen. Das ist; Dieser Algorithmus überprüft jedes Element und sucht nach einem passenden Element davon. Wenn das Element nicht vorhanden ist, wird die Suche bis zum Ende der Daten fortgesetzt. Daher ist die lineare Suche ein Algorithmus, der es ermöglicht, jedes Element in einem Array zu durchlaufen, um das angegebene Element zu finden.

Bei einer linearen Suche hilft der Zeitaufwand oder die Anzahl der Vergleiche, um ein Element zu durchsuchen, um die Effizienz des Algorithmus zu bestimmen. Wenn sich das gesuchte Element an der ersten Position der Datenstruktur befindet, ist nur ein Vergleich erforderlich. Wenn sich das erforderliche Element an der letzten Position befindet, sind N Vergleiche erforderlich, um das Element zu finden. Hier bezieht sich N auf die Anzahl von Datenelementen.

Was ist binäre Suche

Die binäre Suche ist ein schneller Algorithmus. Es ist jedoch notwendig, die Datenelemente zu sortieren, bevor eine binäre Suche durchgeführt wird. Es findet das Element, indem es das mittlere Element der Sammlung vergleicht. Daher benötigt die binäre Suche weniger Zeit, um ein bestimmtes Element mit einer geringeren Anzahl von Vergleichen zu durchsuchen, da das mittlere Element gefunden und das mittlere Element mit dem zu suchenden Element verglichen wird.

Wenn bei einer binären Suche das mittlere Element das erforderliche Element ist, wird dieser Index zurückgegeben. Wenn das mittlere Element höher als das gesuchte Element ist, befindet sich das gesuchte Element im linken Unterarray des mittleren Elements. Andernfalls befinden sich die Items im rechten Subarray des mittleren Items. Und dieser Prozess wird auf dem Unterarray fortgesetzt, bis die Unterarraygröße null wird. Bei diesem Algorithmus verringert sich die Anzahl der zu durchsuchenden Elemente jedes Mal.

Unterschied zwischen linearer Suche und binärer Suche

Definition

Die lineare Suche ist ein Algorithmus, um ein Element in einer Liste zu finden, indem die Elemente der Liste sequentiell überprüft werden, bis das passende Element gefunden wird. Die binäre Suche ist ein Algorithmus, der die Position eines Zielwerts innerhalb eines sortierten Arrays findet. Dies ist also der Hauptunterschied zwischen linearer Suche und binärer Suche.

Synonyme

Sequentielle Suche ist ein anderer Begriff für lineare Suche, während sich Halbintervallsuche oder logarithmische Suche auf dieselbe binäre Suche bezieht.

Zeitkomplexität

Die Zeitkomplexität einer linearen Suche ist O(N), während die Zeitkomplexität einer binären Suche O(log2N). Daher ist dies ein weiterer Unterschied zwischen linearer Suche und binärer Suche.

I'm besten fall

Darüber hinaus besteht der beste Fall bei einer linearen Suche darin, das Element an der ersten Position zu finden, während der beste Fall bei einer binären Suche darin besteht, das Element an der mittleren Position zu finden.

Sortieren des Arrays

Bei einer linearen Suche ist es nicht erforderlich, das Array zu sortieren, bevor das Element durchsucht wird. Bei einer binären Suche ist es jedoch erforderlich, das Array zu sortieren, bevor das Element durchsucht wird. Daher unterscheidet die Voraussetzung zum Sortieren des Arrays zwischen linearer Suche und binärer Suche.

Effizienz

Ein weiterer Unterschied zwischen linearer Suche und binärer Suche ist ihre Effizienz. Die binäre Suche ist effizienter als die lineare Suche.

Einfachheit

Außerdem ist die binäre Suche komplexer als die lineare Suche.

Abschluss

Lineare Suche und binäre Suche sind zwei Algorithmen zum Durchsuchen eines Elements in einer Datenstruktur wie einem Array. Die binäre Suche ist effizient und schnell als die lineare Suche, aber es ist zwingend erforderlich, das Array zuerst zu sortieren, bevor die Suchoperation durchgeführt wird. Somit besteht der Hauptunterschied zwischen linearer Suche und binärer Suche darin, dass die binäre Suche im Vergleich zur linearen Suche effizienter ist und minimale Zeit benötigt, um ein Element zu durchsuchen.

Referenz:

1. „Lineare Suche“. Wikipedia, Wikimedia Foundation, 13. Dezember. Hier verfügbar.2. "Binärer Suchalgorithmus." Wikipedia, Wikimedia Foundation, 26. Dezember 2018, hier verfügbar.

Bild mit freundlicher Genehmigung:

1. „Binäre Suche in Array“ Von Tushe2000 – Vorlage:LoStrangolatore (Public Domain) über Commons Wikimedia

Was ist der Unterschied zwischen linearer Suche und binärer Suche?