Wakati wa kukuza algorithms ya kutatua shida nyingi, shida mara nyingi hujitokeza kutekeleza utaftaji wa kikundi fulani cha data kulingana na vigezo maalum. Wakati wa kuchunguza mlolongo ulioamriwa au usiopangwa, utaftaji unaweza kufanywa kwa kutumia njia tofauti. Katika hali ya jumla, ili kutatua shida ya utaftaji, safu fulani ya data inachukuliwa, ambayo inahitajika kupata kipengee kilichopewa.
Maagizo
Hatua ya 1
Njia rahisi zaidi ya kupata kipengee kinachojulikana katika safu ya data ni kupunguza juu ya maadili yake. Algorithm hii ni bora kwa habari ndogo. Kiini chake kiko katika kupita mlolongo wa data unaojulikana (safu) na kulinganisha kila kitu na dhamana inayotarajiwa. Ikiwa mechi inapatikana, kulingana na vigezo maalum, utaftaji unaweza kukamilika au kuendelea hadi mwisho wa safu.
Hatua ya 2
Walakini, licha ya unyenyekevu wa utekelezaji wa njia hii, matumizi yake hayapendekezi katika safu zilizo na habari nyingi, kwani hii inaongeza nguvu ya rasilimali ya algorithm. Ili kuboresha utaftaji katika kesi hii, ni bora kupanga mapema maadili katika safu na kutekeleza algorithms za utaftaji: na mti wa binary, na mti wa Fibonacci, na njia ya kuongezea.
Hatua ya 3
Unapofanya kazi na safu iliyoamriwa, tumia algorithm inayofaa zaidi - njia ya utaftaji wa binary. Kiini chake kiko katika ukweli kwamba katika mchakato wa kuorodhesha mipaka ya mwingiliano wa kila mmoja, na hivyo kupunguza eneo la utaftaji. Linganisha thamani unayotafuta na kipengee kilichohesabiwa cha safu. Ikiwa sampuli inalingana na kipengee, shida inachukuliwa kutatuliwa. Ikiwa kitu unachotaka ni kikubwa kuliko kipengee cha kati, basi utaftaji zaidi lazima ufanyike katika sehemu ya safu iliyo kulia kwa kitu cha kati (kutoka mwanzo wa safu hadi kipengee cha kati-1). Ikiwa utaftaji ni chini ya kipengee cha kati, basi utaftaji unaendelea katika sehemu ya safu kutoka katikati hadi kitu cha mwisho. Baada ya kuamua eneo jipya la utaftaji, hesabu iliyoelezewa inarudiwa, ikitambulisha mechi au kupunguza eneo la usindikaji. Mpango huu ni sahihi kwa safu inayoshuka.
Hatua ya 4
Shida haswa za kupata kipengee cha chini au cha juu katika mlolongo uliopewa hutatuliwa kwa kupeana kipengee cha kwanza kama kile unachotaka. Ifuatayo, hesabu ya mlolongo wa nambari zilizobaki za safu hufanywa: ya pili na ya kwanza, ya tatu na ya kwanza, n.k. Wakati wa kulinganisha thamani iliyochukuliwa kama kiwango, inakuwa wazi ikiwa kuna kipengee katika safu ambacho kinalingana zaidi na hali iliyopewa (kiwango cha chini au kiwango cha juu). Wakati mtu anapatikana, tayari imechukuliwa kama kiwango, na hesabu inaendelea kutoka nafasi ya sasa hadi mwisho wa safu. Kama matokeo, kiwango cha chini (au cha juu) katika kikundi hiki ndio kipengee ambacho kilitambuliwa mwisho kama kiwango.