Unterschied zwischen binärer Suche und linearer Suche

Anonim

Binärsuche vs. Lineare Suche

Lineare Suche, auch bekannt als sequentielle Suche, ist der einfachste Suchalgorithmus. Es sucht nach einem bestimmten Wert in einer Liste, indem er jedes Element in der Liste prüft. Binäre Suche ist auch eine Methode, um einen bestimmten Wert in einer sortierten Liste zu finden. Bei der binären Suchmethode wird die Anzahl der überprüften Elemente (in jeder Iteration) halbiert, wodurch die Zeit verringert wird, die zum Auffinden des angegebenen Elements in der Liste benötigt wird.

Was ist Lineare Suche?

Die lineare Suche ist die einfachste Suchmethode, die jedes Element in einer Liste nacheinander überprüft, bis es ein bestimmtes Element findet. Die Eingabe für die lineare Suchmethode ist eine Sequenz (z. B. ein Array, eine Auflistung oder eine Zeichenfolge) und das Element, das durchsucht werden muss. Die Ausgabe ist wahr, wenn das angegebene Element innerhalb der angegebenen Sequenz ist, oder false, wenn es nicht in der Sequenz enthalten ist. Da diese Methode jedes Element in der Liste prüft, bis das angegebene Element gefunden wird, durchläuft es im schlimmsten Fall alle Elemente in der Liste, bevor es das erforderliche Element findet. Die Komplexität der linearen Suche ist o (n). Daher wird es als zu langsam angesehen, um Elemente in großen Listen zu suchen. Dies ist jedoch sehr einfach und einfacher zu implementieren.

Was ist Binäre Suche?

Die binäre Suche ist auch eine Methode, mit der ein bestimmtes Element in einer sortierten Liste gesucht wird. Diese Methode beginnt mit dem Vergleich des gesuchten Elements mit den Elementen in der Mitte der Liste. Wenn der Vergleich feststellt, dass die beiden Elemente gleich sind, stoppt die Methode und gibt die Position des Elements zurück. Wenn das durchsuchte Element größer als das mittlere Element ist, startet es die Methode erneut, wobei nur die untere Hälfte der sortierten Liste verwendet wird. Wenn das durchsuchte Element kleiner als das mittlere Element ist, startet es die Methode erneut, wobei nur die obere Hälfte der sortierten Liste verwendet wird. Wenn das gesuchte Element nicht in der Liste enthalten ist, gibt die Methode einen eindeutigen Wert zurück, der dies angibt. Die binäre Suchmethode halbiert daher die Anzahl der verglichenen Elemente (in jeder Iteration) in Abhängigkeit vom Ergebnis des Vergleichs. Folglich läuft die binäre Suche in logarithmischer Zeit ab, was zu einer durchschnittlichen Fallleistung von o (log n) führt.

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

Obwohl sowohl lineare als auch binäre Suche Suchmethoden sind, haben sie einige Unterschiede. Während die binäre Suche auf sortierten Listen funktioniert, kann die Linersuche auch auf unsortierte Listen angewendet werden. Das Sortieren einer Liste hat im Allgemeinen eine durchschnittliche Fallkomplexität von n log n. lineare Suche ist einfach und unkompliziert zu implementieren als die binäre Suche. Die lineare Suche ist jedoch zu langsam, um mit großen Listen aufgrund ihrer durchschnittlichen Fallleistung (o (n)) verwendet zu werden.Auf der anderen Seite wird die binäre Suche als eine effizientere Methode betrachtet, die bei großen Listen verwendet werden könnte. Aber die Implementierung der binären Suche könnte ziemlich kompliziert sein und eine Studie hat gezeigt, dass der genaue Code für die binäre Suche nur in fünf von zwanzig Büchern gefunden werden kann.