Vad är det stora O för binär sökning?
Vad är det stora O för binär sökning?

Video: Vad är det stora O för binär sökning?

Video: Vad är det stora O för binär sökning?
Video: 🟡 ARBETSSTRATEGI FÖR QUOTEX MÄKLAR - Vinst på $13 000 | Handel med binära optioner | Quotex Trading 2024, Maj
Anonim

Binär sökning är snabbare än linjär Sök förutom små arrayer.

Binär sökning algoritm.

Visualisering av binär sökning algoritm där 7 är målvärdet
Klass Sök algoritm
Bästa möjliga prestanda O (1)
Genomsnittlig prestanda O (logg n)
Värsta tänkbara utrymmeskomplexitet O (1)

Härav, vad är komplexiteten i den binära sökningen?

Binär sökning körs in på sämsta logaritmiska tiden, och gör O(log n) jämförelser, där n är antalet element i arrayen, O är Big O notation och log är logaritmen. Binär sökning tar konstant (O(1)) utrymme, vilket betyder att utrymmet som tas av algoritmen är detsamma för valfritt antal element i arrayen.

Dessutom, är binär sökning den snabbaste? Ja och nej. Ja det finns sökningar som i genomsnitt är snabbare än en halvering Sök . Men jag tror att de fortfarande är O(lg N), bara med en lägre konstant. Du vill minimera tiden det tar att hitta ditt element.

På samma sätt kan man fråga sig, hur skriver man en 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.

Vad är tidskomplexiteten för binär sökning?

Så det måste finnas någon typ av beteende som algoritmen visar för att få en komplexitet av log n. Låt oss se hur det fungerar. Eftersom binär sökning har en effektivitet i bästa fall på O(1) och ett värsta fall (medelfall) effektivitet på O(log n), ska vi titta på ett exempel på det sämsta fallet. Tänk på en sorterad array med 16 element.

Rekommenderad: