Mis on binaarse otsingu suur O?
Mis on binaarse otsingu suur O?

Video: Mis on binaarse otsingu suur O?

Video: Mis on binaarse otsingu suur O?
Video: 24.08 Algorütm: Mis on KOIT ehk programmeerimisõpe noortelt noortele 2024, Mai
Anonim

Binaarne otsing on kiirem kui lineaarne otsing välja arvatud väikesed massiivid.

Binaarne otsing algoritm.

Visualiseerimine binaarne otsing algoritm, kus 7 on sihtväärtus
Klass Otsing algoritm
Parimal juhul jõudlus O (1)
Keskmine jõudlus O (logi n)
Halvimal juhul ruumi keerukus O (1)

Milline on siinkohal binaarse otsingu keerukus?

Binaarne otsing jookseb sisse halvimal logaritmilisel ajal, tehes O(log n) võrdlusi, kus n on massiivi elementide arv, O on Big O tähis ja log on logaritm. Binaarne otsing võtab konstantse (O(1)) ruumi, mis tähendab, et algoritmi võetud ruum on massiivi suvalise arvu elementide jaoks sama.

Lisaks, kas binaarne otsing on kiireim? Jah ja ei. jah, seal on otsingud mis on keskmiselt kiiremad kui poolitamine otsing . Aga ma usun, et need on siiski O(lg N), just madalama konstandiga. Soovite minimeerida oma elemendi leidmiseks kuluvat aega.

Samamoodi võib küsida, kuidas kirjutada binaarset otsingut?

Binaarne otsing : Otsing sorteeritud massiiv, jagades korduvalt otsing intervall pooleks. Alustage intervalliga, mis hõlmab kogu massiivi. Kui väärtus otsing klahv on väiksem kui intervalli keskel olev üksus, vähendage intervalli alumisele poolele. Vastasel juhul kitsendage seda ülemise pooleni.

Mis on binaarse otsingu ajaline keerukus?

Seega peab olema mingisugune käitumine, mida algoritm näitab a keerukus of log n. Vaatame, kuidas see töötab. Alates binaarne otsing millel on parimal juhul kasutegur O(1) ja halvimal juhul (keskmisel juhul) kasutegur O(log n), siis vaatleme halvima juhtumi näidet. Vaatleme 16 elemendist koosnevat sorteeritud massiivi.

Soovitan: