>> ZAMYLA CHAN: Jambo la kwanza nguvu ilani kuhusu kupata ni kwamba tayari
kuwa kanuni zilizoandikwa kwa ajili yetu.
Hii inaitwa usambazaji code.
Hivyo sisi siyo tu kuandika yetu wenyewe kanuni kutoka mwanzo tena.
Badala yake, sisi ni kujaza katika voids katika baadhi ya kanuni kabla ya zilizopo.
>> mpango find.c papo kwa idadi kujaza haystack, utafutaji
haystack kwa mtumiaji in sindano, na haina kwa kuita aina na
search, kazi inavyoelezwa katika helpers.c.
Hivyo find.c imeandikwa tayari.
Kazi yako ni kuandika kuwanusuru.
>> Basi ni nini sisi kufanya?
Sisi ni utekelezaji wa kazi mbili.
Search, ambayo anarudi kweli kama thamani hupatikana katika haystack, kurudi
uongo kama thamani ni si katika haystack.
Na kisha sisi ni pia kutekeleza aina, ambayo aina safu kuitwa maadili.
Basi hebu kukabiliana na search.
>> Search kwa sasa ni kutekelezwa kama search linear.
Lakini unaweza kufanya bora zaidi kuliko ile.
Search linear unatekelezwa katika O ya n wakati, ambayo ni polepole kabisa, ingawa
Unaweza kutafuta orodha wowote yake.
Kazi yako ni kutekeleza search binary, ambayo ina kukimbia wakati O logi n.
Hiyo ni pretty haraka.
>> Lakini kuna ahadi.
Search kisha unaweza tu kutafuta kwa njia ya orodha kabla ya yamepangwa.
Kwa nini ni kwamba?
Naam, hebu tuangalie mfano.
Kutokana na safu ya maadili, haystack, tunakwenda kuwa na kuangalia
kwa sindano, na katika hii mfano, integer 3.
>> njia ambayo search binary kazi ni kuwa sisi kulinganisha thamani katikati ya
safu ya sindano, kama ilivyo kwa jinsi sisi kufunguliwa kitabu cha simu katikati
ukurasa katika Wiki 0.
Hivyo, baada ya kulinganisha thamani ya katikati ya sindano, unaweza kuondokana na ama
upande wa kushoto au nusu wa kulia wa safu na inaimarisha mipaka yako.
Katika kesi hiyo, tangu 3, sindano yetu, ni chini ya 10, thamani ya kati,
haki amefungwa unaweza kupungua.
>> Lakini kujaribu kufanya mipaka yako kama tight kama iwezekanavyo.
Kama thamani katikati ni si sindano, kisha unajua kwamba hawana haja ya
ni pamoja na katika utafutaji wako.
Hivyo amefungwa haki yako unaweza kaza mipaka search tu kidogo kidogo zaidi,
na kadhalika na kadhalika, mpaka kupata sindano yako.
>> Hivyo gani Pseudo code kuangalia kama?
Naam, wakati bado tuko kutafuta njia ya orodha na bado wana
mambo ya kuangalia katika, sisi kuchukua katikati ya orodha na kulinganisha kwamba
thamani katikati ya sindano yetu.
Kama uko sawa, basi hiyo ina maana tumekuwa kupatikana sindano, na tunaweza
kurudi kweli.
>> Vinginevyo, kama sindano ni chini ya thamani katikati, basi hiyo ina maana sisi
unaweza kuondokana na nusu haki na wa haki kutafuta upande wa kushoto wa safu.
Vinginevyo, tutaweza kutafuta upande wa safu ya haki.
Na mwisho, kama wewe huna lolote mambo zaidi wa kushoto na kutafuta lakini
sikuona sindano yako bado, kisha kurudi uongo.
Kwa sababu sindano dhahiri ni si katika haystack.
>> Sasa, jambo moja nadhifu kuhusu Pseudo hii code katika kutafuta binary ni kwamba unaweza
kutafsiriwa kama ama iterative au utekelezaji kujirudia.
Hivyo itakuwa kujirudia kama wewe kuitwa kutafuta kazi ndani ya search
kazi ama nusu ya safu.
Tutaweza cover kujirudia kidogo baadaye katika shaka.
Lakini tunajua kwamba ni chaguo kama Ningependa kujaribu.