Əlaqəli siyahıda ikili axtarış edə bilərsinizmi?
Əlaqəli siyahıda ikili axtarış edə bilərsinizmi?

Video: Əlaqəli siyahıda ikili axtarış edə bilərsinizmi?

Video: Əlaqəli siyahıda ikili axtarış edə bilərsinizmi?
Video: DİQQƏT: Bu ailələr 2023-cü İldən sosial yardım alacaq 2024, Bilər
Anonim

Bəli, İkili axtarış üzərində mümkündür bağlı siyahı varsa the siyahı sifariş edilir və Sən elementlərin sayını bilmək siyahı . Amma çeşidlənərkən siyahı , bacararsan bir elementə eyni anda bir göstərici vasitəsilə həmin node, yəni ya əvvəlki qovşaq, ya da növbəti node daxil olmaq.

Beləliklə, əlaqəli siyahıda ikili axtarış tətbiq edildikdə vaxt mürəkkəbliyi nə qədər olacaq?

Zamanın mürəkkəbliyi O(log n)-dən çox olmamalıdır. kimi əlaqəli siyahı edir cəhd etsək təsadüfi giriş təmin etmirik ikili axtarış tətbiq edin alqoritm edin olacaq Bizə lazım olan kimi O(n)-a çatırıq tapmaq uzunluğu siyahı və ortasına keçin.

Həmçinin bilin, ikili axtarış necə həyata keçirilir? İkili axtarış : Axtar dəfələrlə bölməklə çeşidlənmiş massiv axtarış yarımda interval. Bütün massivi əhatə edən intervalla başlayın. Əgər dəyəri axtarış açar intervalın ortasındakı elementdən azdır, intervalı aşağı yarıya qədər daralt. Əks halda yuxarı yarıya qədər daraltın.

Beləliklə, ikili axtarış siyahıda elementi tapmaq üçün hansı üsuldan istifadə edir?

İkili axtarış çeşidlənmiş massivlər üzərində işləyir. İkili axtarış müqayisə etməklə başlayır element hədəflə serialın ortasında dəyər . Əgər hədəf dəyər uyğun gəlir element , onun massivdəki mövqeyi qaytarılır. Əgər hədəf dəyər -dən azdır element , the axtarış massivin aşağı yarısında davam edir.

Əlaqəli siyahı vasitəsilə necə təkrar edirsiniz?

An İterator loop üçün istifadə edilə bilər vasitəsilə bir LinkedList . Daha çox element varsa, hasNext() metodu doğru qaytarır LinkedList və başqa cür yalan. Next() metodu qovluqdakı növbəti elementi qaytarır LinkedList və növbəti element olmadıqda NoSuchElementException istisnasını atır.

Tövsiyə: