Können Sie eine verknüpfte Liste binär durchsuchen?
Können Sie eine verknüpfte Liste binär durchsuchen?

Video: Können Sie eine verknüpfte Liste binär durchsuchen?

Video: Können Sie eine verknüpfte Liste binär durchsuchen?
Video: Die BINÄRE SUCHE (einfach erklärt) 2024, November
Anonim

Jawohl, Binäre Suche ist möglich auf dem verknüpfte Liste, wenn das aufführen ist bestellt und Sie kennen die Anzahl der Elemente in aufführen . Aber beim Sortieren der aufführen , du kannst auf ein einzelnes Element gleichzeitig durch einen Zeiger auf diesen Knoten zugreifen, d. h. entweder auf einen vorherigen Knoten oder einen nächsten Knoten.

Wie hoch wird die Zeitkomplexität sein, wenn eine binäre Suche auf eine verknüpfte Liste angewendet wird?

Zeitkomplexität sollte nicht größer als O(log n) sein. Wie verlinkte Liste tut keinen wahlfreien Zugriff bereitstellen, wenn wir es versuchen Binäre Suche anwenden Algorithmus es Wille O(n) erreichen, wie wir es brauchen finden Länge der aufführen und gehe in die Mitte.

Wissen Sie auch, wie die binäre Suche implementiert ist? Binäre Suche : Suche ein sortiertes Array durch wiederholtes Teilen der Suche Intervall zur Hälfte. Beginnen Sie mit einem Intervall, das das gesamte Array abdeckt. Wenn der Wert des Suche kleiner als das Element in der Mitte des Intervalls ist, schränken Sie das Intervall auf die untere Hälfte ein. Ansonsten auf die obere Hälfte eingrenzen.

Welche Methode verwendet die binäre Suche davon, um ein Element in einer Liste zu finden?

Binäre Suche funktioniert mit sortierten Arrays. Binäre Suche beginnt mit dem Vergleich von an Element in der Mitte des Arrays mit dem Ziel Wert . Wenn das Ziel Wert passt zu dem Element , wird seine Position im Array zurückgegeben. Wenn das Ziel Wert ist weniger als die Element , das Suche setzt sich in der unteren Hälfte des Arrays fort.

Wie iterieren Sie durch eine verknüpfte Liste?

Ein Iterator kann zum Loopen verwendet werden durch ein LinkedList . Die Methode hasNext() gibt true zurück, wenn es mehr Elemente in. gibt LinkedList und sonst falsch. Die Methode next() liefert das nächste Element in der LinkedList und löst die Ausnahme NoSuchElementException aus, wenn kein nächstes Element vorhanden ist.

Empfohlen: