Ano ang malaking O ng binary na paghahanap?
Ano ang malaking O ng binary na paghahanap?

Video: Ano ang malaking O ng binary na paghahanap?

Video: Ano ang malaking O ng binary na paghahanap?
Video: BITAWAN MO NA! 10 UGALI na Nagpapahirap sa Buhay mo 2024, Mayo
Anonim

Binary na paghahanap ay mas mabilis kaysa sa linear paghahanap maliban sa maliliit na array.

Binary na paghahanap algorithm.

Visualization ng binary na paghahanap algorithm kung saan 7 ang target na halaga
Klase Maghanap algorithm
Pinakamahusay na pagganap O (1)
Average na pagganap O (log n)
Pinakamasamang kaso ng pagiging kumplikado ng espasyo O (1)

Dito, ano ang pagiging kumplikado ng binary na paghahanap?

Binary na paghahanap tumatakbo sa pinakamasamang oras ng logarithmic, na gumagawa ng mga paghahambing ng O(log n), kung saan ang n ay ang bilang ng mga elemento sa array, ang O ay Big O notation, at ang log ay ang logarithm. Binary na paghahanap tumatagal ng permanenteng (O(1)) na espasyo, ibig sabihin, ang puwang na kinuha ng algorithm ay pareho para sa anumang bilang ng mga elemento sa array.

Bilang karagdagan, ang binary na paghahanap ba ang pinakamabilis? Oo at hindi. Oo meron mga paghahanap na mas mabilis, sa karaniwan, kaysa sa isang hating bahagi paghahanap . Ngunit naniniwala ako na sila ay O(lg N) pa rin, na may mas mababang pare-pareho. Gusto mong bawasan ang oras na kinuha upang mahanap ang iyong elemento.

Katulad nito, maaaring itanong ng isa, paano ka magsusulat ng binary na paghahanap?

Binary Search : Maghanap isang pinagsunod-sunod na hanay sa pamamagitan ng paulit-ulit na paghahati sa paghahanap pagitan sa kalahati. Magsimula sa isang agwat na sumasaklaw sa buong hanay. Kung ang halaga ng paghahanap mas mababa ang key kaysa sa item sa gitna ng agwat, paliitin ang pagitan sa mas mababang kalahati. Kung hindi, paliitin ito sa itaas na kalahati.

Ano ang pagiging kumplikado ng oras ng binary na paghahanap?

Kaya dapat mayroong ilang uri ng pag-uugali na ipinapakita ng algorithm na bibigyan ng a pagiging kumplikado ng log n. Tingnan natin kung paano ito gumagana. Since binary na paghahanap ay may pinakamahusay na kahusayan sa kaso ng O(1) at pinakamasamang kaso (average na kaso) na kahusayan ng O(log n), titingnan natin ang isang halimbawa ng pinakamasamang kaso. Isaalang-alang ang isang pinagsunod-sunod na hanay ng 16 na elemento.

Inirerekumendang: