Kan du binært søge på en linket liste?
Kan du binært søge på en linket liste?

Video: Kan du binært søge på en linket liste?

Video: Kan du binært søge på en linket liste?
Video: Linkede lister på 4 minutter 2024, Kan
Anonim

Ja, Binær søgning er muligt på linket liste hvis det liste er bestilt og du kender antallet af elementer i liste . Men mens du sorterer liste , du kan få adgang til et enkelt element ad gangen gennem en pointer til den node, dvs. enten en tidligere node eller næste node.

Bare så, hvad bliver tidskompleksiteten, når en binær søgning anvendes på en linket liste?

Tidskompleksitet bør ikke være mere end O(log n). Som linket liste gør ikke give tilfældig adgang, hvis vi forsøger det anvende binær søgning algoritme det vilje nå O(n), som vi skal Find længden af liste og gå til midten.

Ved også, hvordan implementeres binær søgning? Binær søgning : Søg et sorteret array ved gentagne gange at dividere Søg interval i halvdelen. Begynd med et interval, der dækker hele arrayet. Hvis værdien af Søg tasten er mindre end elementet i midten af intervallet, indsnævre intervallet til den nederste halvdel. Ellers indsnævre den til den øverste halvdel.

Heraf, hvilken metode bruger binær søgning til at finde et element i en liste?

Binær søgning virker på sorterede arrays. Binær søgning begynder med at sammenligne en element i midten af arrayet med målet værdi . Hvis målet værdi matcher element , returneres dens position i arrayet. Hvis målet værdi er mindre end element , det Søg fortsætter i den nederste halvdel af arrayet.

Hvordan itererer du gennem en linket liste?

An Iterator kan bruges til at sløjfe igennem en LinkedList . Metoden hasNext() returnerer sand, hvis der er flere elementer i LinkedList og ellers falsk. Metoden next() returnerer det næste element i LinkedList og kaster undtagelsen NoSuchElementException, hvis der ikke er noget næste element.

Anbefalede: