Czy możesz wyszukiwać binarnie na połączonej liście?
Czy możesz wyszukiwać binarnie na połączonej liście?

Wideo: Czy możesz wyszukiwać binarnie na połączonej liście?

Wideo: Czy możesz wyszukiwać binarnie na połączonej liście?
Wideo: Wyszukiwanie binarne 2024, Kwiecień
Anonim

Tak, Wyszukiwanie binarne jest możliwe na lista połączona, jeśli ten lista jest zamówiony i ty znać liczbę elementów w lista . Ale podczas sortowania lista , możesz uzyskać dostęp do pojedynczego elementu na raz poprzez wskaźnik do tego węzła, tj. albo do poprzedniego węzła, albo do następnego węzła.

A zatem, jaka będzie złożoność czasowa, gdy wyszukiwanie binarne zostanie zastosowane na połączonej liście?

Złożoność czasowa nie powinno być większe niż O(log n). Jak lista połączona nie nie zapewniamy losowego dostępu, jeśli próbujemy zastosuj wyszukiwanie binarne algorytm it Wola osiągnij O(n) tak, jak potrzebujemy odnaleźć długość lista i idź do środka.

Wiesz również, jak zaimplementowane jest wyszukiwanie binarne? Wyszukiwanie binarne : Szukaj posortowaną tablicę przez wielokrotne dzielenie Szukaj interwał na pół. Rozpocznij od interwału obejmującego całą tablicę. Jeśli wartość Szukaj klucz jest mniejszy niż pozycja w środku przedziału, zawęź przedział do dolnej połowy. W przeciwnym razie zawęź go do górnej połowy.

W związku z tym, jakiej metody używa wyszukiwanie binarne, aby znaleźć element na liście?

Wyszukiwanie binarne działa na posortowanych tablicach. Wyszukiwanie binarne zaczyna się od porównania element w środku tablicy z celem wartość . Jeśli cel wartość pasuje do element , zwracana jest jego pozycja w tablicy. Jeśli cel wartość jest mniej niż element , ten Szukaj kontynuuje w dolnej połowie tablicy.

Jak iterować po połączonej liście?

jakiś Iterator może być używany do pętli Poprzez jakiś Połączona lista . Metoda hasNext() zwraca wartość true, jeśli w jest więcej elementów Połączona lista i fałszywe w przeciwnym razie. Metoda next() zwraca następny element w Połączona lista i zgłasza wyjątek NoSuchElementException, jeśli nie ma następnego elementu.

Zalecana: