Kan du binärt söka i en länkad lista?
Kan du binärt söka i en länkad lista?

Video: Kan du binärt söka i en länkad lista?

Video: Kan du binärt söka i en länkad lista?
Video: Binary search in linked list | Binary Search algorithm full explanation 2024, Maj
Anonim

Ja, Binär sökning är möjligt på länkad lista om de lista är beställd och du känna till antalet element i lista . Men medan du sorterar lista , du kan åtkomst till ett enstaka element åt gången genom en pekare till den noden, dvs antingen en föregående nod eller nästa nod.

Bara så, vad blir tidskomplexiteten när en binär sökning tillämpas på en länkad lista?

Tidskomplexitet bör inte vara mer än O(log n). Som länkad lista gör det inte ge slumpmässig tillgång om vi försöker tillämpa binär sökning algoritm det kommer nå O(n) som vi behöver hitta längden på lista och gå till mitten.

Vet också, hur implementeras binär sökning? Binär sökning : Sök en sorterad array genom att upprepade gånger dividera Sök intervall på hälften. Börja med ett intervall som täcker hela arrayen. Om värdet av Sök nyckeln är mindre än objektet i mitten av intervallet, begränsa intervallet till den nedre halvan. I annat fall begränsa den till den övre halvan.

Därav, vilken metod använder binär sökning för att hitta ett element i en lista?

Binär sökning fungerar på sorterade arrayer. Binär sökning börjar med att jämföra en element i mitten av arrayen med målet värde . Om målet värde matchar element , returneras dess position i arrayen. Om målet värde är mindre än element , den Sök fortsätter i den nedre halvan av arrayen.

Hur itererar du genom en länkad lista?

Ett Iterator kan användas för att loopa genom ett Länkad lista . Metoden hasNext() returnerar true om det finns fler element i Länkad lista och falskt annars. Metoden next() returnerar nästa element i Länkad lista och kastar undantaget NoSuchElementException om det inte finns något nästa element.

Rekommenderad: