Mikä on binäärihaun suuri O?
Mikä on binäärihaun suuri O?

Video: Mikä on binäärihaun suuri O?

Video: Mikä on binäärihaun suuri O?
Video: Computational Thinking and problem solving, by Miles Berry 2024, Huhtikuu
Anonim

Binäärihaku on nopeampi kuin lineaarinen Hae lukuun ottamatta pieniä ryhmiä.

Binäärihaku algoritmi.

Visualisointi binäärihaku algoritmi, jossa 7 on tavoitearvo
Luokka Hae algoritmi
Paras suoritus O (1)
Keskimääräinen suorituskyky O (loki n)
Pahimmassa tapauksessa tilan monimutkaisuus O (1)

Mikä on binäärihaun monimutkaisuus?

Binäärihaku toimii huonoimmalla logaritmisajalla ja tekee O(log n) -vertailuja, joissa n on taulukon elementtien lukumäärä, O on Big O -merkintä ja log on logaritmi. Binäärihaku ottaa vakioavaruuden (O(1)), mikä tarkoittaa, että algoritmin ottama tila on sama mille tahansa määrälle taulukon elementtejä.

Lisäksi onko binäärihaku nopein? Kyllä ja ei. kyllä siellä on hakuja jotka ovat keskimäärin nopeampia kuin puolittaja Hae . Mutta uskon, että ne ovat edelleen O(lg N), vain pienemmällä vakiolla. Haluat minimoida elementin löytämiseen kuluvan ajan.

Samalla tavalla voidaan kysyä, kuinka kirjoitat binaarihaun?

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.

Mikä on binäärihaun aikamonimutkaisuus?

Joten täytyy olla jonkinlainen käyttäytyminen, jonka algoritmi näyttää olevan annettu a monimutkaisuus lokista n. Katsotaanpa, miten se toimii. Siitä asti kun binäärihaku jonka parhaan tapauksen hyötysuhde on O(1) ja pahimman tapauksen (keskimääräinen tapaus) tehokkuus O(log n), tarkastellaan esimerkkiä pahimmasta tapauksesta. Tarkastellaan 16 elementin lajiteltua joukkoa.

Suositeltava: