Ar dvejetainė paieška yra greičiausia?
Ar dvejetainė paieška yra greičiausia?

Video: Ar dvejetainė paieška yra greičiausia?

Video: Ar dvejetainė paieška yra greičiausia?
Video: Binary Search Algorithm in 100 Seconds 2024, Balandis
Anonim

Dvejetainė paieška yra greičiau nei linijinis Paieška išskyrus mažus masyvus. Tačiau masyvas pirmiausia turi būti surūšiuotas, kad būtų galima taikyti dvejetainė paieška . Yra specializuotų duomenų struktūrų, skirtų greitai ieškant , pvz., maišos lentelės, kurių galima ieškoti efektyviau nei dvejetainė paieška.

Ar dvejetainė paieška yra greitesnė nei linijinė?

Dvejetainė paieška yra efektyvesnis nei tiesinė paieška ; jo laiko sudėtingumas yra O(log n). Kad duomenų sąrašas veiktų, jis turi būti surūšiuotas. A dvejetainė paieška veikia surasdamas vidurinį surūšiuoto masyvo elementą ir palygindamas jį su tiksliniu elementu.

Antra, ar dvejetainė paieška yra geriausia? Jei rakto duomenys jau surūšiuoti, jūs esate ieškant už, tada dvejetainė paieška yra toli geriau nei linijinis Paieška . Šiek tiek sumažinkite mastelį, jei masyve yra 40 000 elementų, dvejetainė paieška kainuos daugiausia 16 palyginimų, o tiesinis Paieška kainuos daugiausia 40 000 palyginimų ir vidutiniškai 20 000 palyginimų.

Šiuo atžvilgiu koks yra greičiausias paieškos algoritmas?

Dvejetainė paieška

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

Dvejetainė paieška blogiausiu atveju veikia logaritmu laikas , 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.

Rekomenduojamas: