Voitko etsiä linkitetystä listasta binäärihaun?
Voitko etsiä linkitetystä listasta binäärihaun?

Video: Voitko etsiä linkitetystä listasta binäärihaun?

Video: Voitko etsiä linkitetystä listasta binäärihaun?
Video: Section 6 2024, Joulukuu
Anonim

Joo, Binäärihaku on mahdollista linkitetty lista jos the lista on tilattu ja sinä tietää elementtien lukumäärän lista . Mutta lajittelun aikana lista , sinä pystyt päästä yhteen elementtiin kerrallaan osoittimen kautta kyseiseen solmuun, eli joko edelliseen tai seuraavaan solmuun.

Niin, mikä on ajan monimutkaisuus, kun linkitetyssä luettelossa käytetään binaarihakua?

Aika monimutkaisuus ei saa olla suurempi kuin O(log n). Kuten linkitetty lista tekee emme tarjoa satunnaista pääsyä, jos yritämme käytä binaarihakua algoritmi se tahtoa saavuttaa O(n):n tarpeen mukaan löytö pituus lista ja mene keskelle.

Tiedä myös, kuinka binäärihaku toteutetaan? Binäärihaku : Hae lajiteltu taulukko jakamalla toistuvasti Hae väli puoliksi. Aloita intervallista, joka kattaa koko taulukon. Jos arvo Hae näppäin on pienempi kuin välin keskellä oleva kohde, kavenna väli alempaan puoliskoon. Muuten kavenna se yläosaan.

Mitä menetelmää binäärihaku käyttää löytääkseen elementin luettelosta?

Binäärihaku toimii lajiteltujen taulukoiden kanssa. Binäärihaku alkaa vertaamalla elementti taulukon keskellä kohteen kanssa arvo . Jos kohde arvo vastaa elementti , sen sijainti taulukossa palautetaan. Jos kohde arvo on pienempi kuin elementti , Hae jatkuu taulukon alaosassa.

Kuinka toistat linkitetyn luettelon?

An Iteraattori voidaan käyttää silmukkaan kautta an LinkedList . Metodi hasNext() palauttaa tosi, jos siinä on enemmän elementtejä LinkedList ja muuten vääriä. Metodi next() palauttaa seuraavan elementin LinkedList ja heittää poikkeuksen NoSuchElementException, jos seuraavaa elementtiä ei ole.

Suositeltava: