Vai varat meklēt bināros datus saistītajā sarakstā?
Vai varat meklēt bināros datus saistītajā sarakstā?

Video: Vai varat meklēt bināros datus saistītajā sarakstā?

Video: Vai varat meklēt bināros datus saistītajā sarakstā?
Video: CS50 2014 - Week 6 2024, Novembris
Anonim

Jā, Binārā meklēšana ir iespējams uz saistītais saraksts, ja uz sarakstu ir pasūtīts un tu zināt elementu skaitu sarakstu . Bet, šķirojot sarakstu , tu vari vienlaikus piekļūt vienam elementam, izmantojot rādītāju uz šo mezglu, t.i., iepriekšējo vai nākamo mezglu.

Tātad, kāda būs laika sarežģītība, ja saistītajā sarakstā tiek lietota binārā meklēšana?

Laika sarežģītība nedrīkst būt lielāks par O(log n). Kā saistītais saraksts dara nenodrošinātu nejaušu piekļuvi, ja mēs to cenšamies lietot bināro meklēšanu algoritmu to gribu sasniedzam O(n), cik nepieciešams atrast garums sarakstu un ej uz vidu.

Tāpat zināt, kā tiek īstenota binārā meklēšana? Binārā meklēšana : Meklēt sakārtots masīvs, atkārtoti dalot Meklēt intervāls uz pusēm. Sāciet ar intervālu, kas aptver visu masīvu. Ja vērtība Meklēt taustiņš ir mazāks par vienumu intervāla vidū, sašauriniet intervālu līdz apakšējai pusei. Pretējā gadījumā sašauriniet to līdz augšējai pusei.

Tātad, kuru metodi binārā meklēšana izmanto, lai atrastu elementu sarakstā?

Binārā meklēšana darbojas uz sakārtotiem masīviem. Binārā meklēšana sākas, salīdzinot an elements masīva vidū ar mērķi vērtību . Ja mērķis vērtību atbilst elements , tiek atgriezta tā pozīcija masīvā. Ja mērķis vērtību ir mazāks par elements , Meklēt turpinās masīva apakšējā pusē.

Kā jūs atkārtojat saistīto sarakstu?

An Iterators var izmantot cilpai cauri an LinkedList . Metode hasNext() atgriež true, ja tajā ir vairāk elementu LinkedList un citādi nepatiesi. Metode next() atgriež nākamo elementu LinkedList un izmet izņēmumu NoSuchElementException, ja nav nākamā elementa.

Ieteicams: