Kas yra dvejetainės paieškos didysis O?
Kas yra dvejetainės paieškos didysis O?

Video: Kas yra dvejetainės paieškos didysis O?

Video: Kas yra dvejetainės paieškos didysis O?
Video: How Binary Search Makes Computers Much, Much Faster 2024, Gruodis
Anonim

Dvejetainė paieška yra greitesnis nei tiesinis Paieška išskyrus mažus masyvus.

Dvejetainė paieška algoritmas.

Vizualizacija dvejetainė paieška algoritmas, kur 7 yra tikslinė vertė
Klasė Paieška algoritmas
Geriausias našumas O (1)
Vidutinis našumas O (log n)
Blogiausias erdvės sudėtingumas O (1)

Taigi, koks dvejetainės paieškos sudėtingumas?

Dvejetainė paieška veikia blogiausiu logaritminiu laiku, atliekant O(log n) palyginimus, kur n yra elementų skaičius masyve, O yra Big O žymėjimas, o log yra logaritmas. Dvejetainė paieška užima pastovią (O(1)) erdvę, o tai reiškia, kad algoritmo užimama erdvė yra vienoda bet kokiam masyvo elementų skaičiui.

Be to, ar dvejetainė paieška yra greičiausia? Taip ir ne. taip, yra paieškų kurios yra vidutiniškai greitesnės nei pusiausvyra Paieška . Bet aš tikiu, kad jie vis dar yra O(lg N), tik su mažesne konstanta. Norite kuo labiau sutrumpinti laiką, reikalingą elementui surasti.

Panašiai galima paklausti, kaip parašyti dvejetainę paiešką?

Dvejetainė paieška : Paieška surūšiuotas masyvas pakartotinai dalijant Paieška intervalas per pusę. Pradėkite nuo intervalo, apimančio visą masyvą. Jei vertė Paieška klavišas yra mažesnis nei elementas intervalo viduryje, susiaurinkite intervalą iki apatinės pusės. Priešingu atveju susiaurinkite jį iki viršutinės pusės.

Kas yra dvejetainės paieškos laiko sudėtingumas?

Taigi algoritmo rodomas elgesys turi būti tam tikras a sudėtingumo iš rąsto n. Pažiūrėkime, kaip tai veikia. Nuo dvejetainė paieška turi geriausio atvejo efektyvumą O(1), o blogiausio (vidutinio atvejo) efektyvumą O(log n), pažvelgsime į blogiausio atvejo pavyzdį. Apsvarstykite surūšiuotą 16 elementų masyvą.

Rekomenduojamas: