top of page

Binary Search

Maqaalkan waxa aad ku baran doontaa:

1. Waa maxay binary search? 2. Sida ay u shaqayso. 3. Sida loo hir galiyo.

Sida aan hore uga hadlay algorithms waa qayb ka mid ah habka loo dhiso waxqabadka hawl cayiman oo leh wakhti go'an faahfaain halkan guji algorithm

Hadda ba marka wax la raadinayo way badan yihiin algorithms la adeegsadaa iyo sida ay ugu kala habboon yihiin waxa la raadinayo.

Binary waxa ay ka mid tahay uun kuwa wax la gu raadiyo sida magaceeda ka muuqatana waxa ay markasta ka dhigtaa taxanaha ay wax ka raadinayso laba qaybood(binary) iyada oo raacaysa habka loo yaqaan Divide and Conquer. Waxa se khasaba in uu taxanuhu habaysanyahay(sorted).

Binary Search waxa ay shaqadeeda ka bilowdaa bartanka . Ka dib waxa ay hubisaa in uu itemka bartanka ku jiraa yahay kan la raadinayo, haddii uu yahay way dhammaatay.

Haddii uu ka yaraado waxa ay iska ilowdaa qaybta ka wayn oo mar kale waxa ay bartanka ka bilowdaa qaybta ka yar; ka dib mar kale ayay hubisaa qaybtii ka yarayd mid ka bartanka ku jiraa in uu yahay kii la raadinayay hadduu noqon waayo waxa ay dib u raacdaa habkaa sare ilaa ay ka helayso ama ka waayayso.

Haddii uu ka waynaadana waa la mid oo qaybta ka wayn uun bayn habkaa sare u martaa oo sii qayb qaybisaa.

Waxa meesha inooga muuqda in Binary Search u baahan tahay in marka hore taxanaha wax la ga raadinayaa noqdo mid habaysan haddii kale ma shaqaynayso.

Binary Search waxa ay soo heshaa index(god) uu fadhiyo item la raadinayaa.

Tusaale : numbers = {1, 2, 3, 4, 5, 6, 7}

Haddii ay raadinayso number 3, Binary Search waxa ay samaysaa habkan: middle = (0 + 6)/2 = 3 , 0 =>first index (0) 6 => last index (6)


Markaa middle = 3 (index) waxaana ku jira 4 , waxa ay hubisaa in index 3 item ku jiraa leeg yahay kii la raadinayay:

numbers [middle] == 3, waa maya. Ma ka yar yahay mise waa ka wayn yahay ?

Sida cad waa ka yar yahay waayo ka numbers[middle] ka ku jiraa waa 4 waxa ay raadinaynaana waa 3.


Haddaba qaybta sare ee 4 ka bilaabmaysa waa iska ilow.

Marka kale qaybi: middle = (0 + 2)/ 2 = 1 (index) .

Haddaba hubi numbers[middle] == 3 (middle index = 1), waa maya.

Ma ka yar yahay waa maya, ma ka wayn yahay haa! Ka dib qaybta ka yar iska ilow.

Mar kale qaybi: middle = (2 +2) /2 = 2 ( index =2)


Haddaba hubi :

numbers[middle] == 3 (middle index = 2) , haa waa leeg yahay. Ka dib shaqadii Binary Search waa dhammaatay waxayna soo celin index uu fadhiyo 3 oo ah (2 index).

Wa taas habka ay u shaqayso Binary Search.

Runtii Binary Search waa mid aad u degdeg badan xagga raadinta taas oo Time Complexity ka dhigaysa O(log n).

Mararka qaar Binary Search waxa loo yaqaan " half-interval search or logarithmic search"; sababtuna waa in ay markasta qayb qaadato qaybna iska ilowdo sida aan hore u nidhi waxa ay ku shaqaysaa habka Divide and Conquer ka loo qayaan.

Sida aan marar badan ku celceliyo hirgalinta algorithm waa ay ka madax banaanyihiin luuqaddaha programmingka midka aad adigu taqaan baan ku hirgashan kartaa. Halkan waxa aan adeegsan luuqaddo kala duwan sida C, Java, Python iyo Dart. Waxa se aad maskaxda ku haysaa in aad adigu gacantaada ku qorto si aad u barato. Don't make copy and paste!


Maxaad ka baran kartaa maqaalkan: 1. Code nadiifa oo si fiican u qoran isla jeerkaana aan soo noq noqosho la hayn[Clean coding]. 2. Magac bixin fiican oo mid kastaa u jeedkiisu cad yahay isla markaana raaca hab bixinta ee luuqadkasta u gaara [proper naming convention] 3. Code is haysta oo si wanaagsan u xidhiidh u leh[Code Cohesion].

Waxa ii farxad ah in aad ilaa halkan soo gaartay ood dhammaysay maqaalkan. Waxa kale oo dhiiri galin ii ah in aad saaxiibbadaada waxbarashada iyo shaqada la wadaagto. Waxa kale oon kaa codsanayaa in aad Post ku samays adiga oo magacayga ku xusaya!


Codekan oo dhammaystiranna waxa aad ka helaysaa:


Kulankale mahadsanid ♥️

111 views0 comments

Related Posts

See All

Queue

Arrays

bottom of page