KombiyuutaradaBarnaamijyada

Search Binary - mid ka mid ah siyaabaha ugu fudud si aad u hesho element ah isugu soo diyaariyeen ah

Marar badan, barnaamijyo, iyo tan iyo bilowga ah, wajahay xaqiiqda ah in uu jiro go'an lambarada, oo waa in la helo tiro gaar ah. Waa ururinta tani waxaa la yiraahdaa diyaariyeen ah. Oo si aad u ogaato waxyaabaha ku jira, waxaa jira toban kun siyaabood. Laakiin fudud ugu iyaga ka mid ah la oran karo search a binary on xaq u. Waa maxay habkan yahay? Iyo sida ay u hirgeliyaan raadinta binary? Pascal waa deegaanka ugu fudud ee ururka barnaamijka noocan oo kale ah, sidaas darteed waxaan u isticmaali doonaa inaad wax ka barato.

First, u falanqeeyaan, maxay yihiin faa'iidooyinka ee habkan, waa sidaas waxaan u garan karaa, waa maxay barta daraasadda ee mawduuca. Sidaas daraaddeed, bal aynu leeyihiin diyaariyeen ah oo xididda ku leh oo ugu yaraan 100000000 xubno ka, taas oo u baahan in la helo qaar ka mid ah. Dabcan, dhibaatadan si fudud loo xallin karo by search fudud oo toosan, taas oo aan u isticmaalayno wareegga is barbar doonaa element loo baahan yahay la kuwa soo diyaariyeen oo dhan. Dhibaatada waxa ay tahay in hirgelinta fikrad this qaadan doontaa waqti aad u badan. In barnaamij fudud Pascal dhowr daawaynta, iyo saddex ka mid ah qoraalka ugu weyn, ma waxaad u dareemi doonto, laakiin marka la yimaad ah mashaariic badan ama ka weyn oo ka yar tiro badan laamood oo ka shaqeynayaan wanaagsan of, barnaamijka diyaar u ah inay la raran muddo dheer noqon doono. Gaar ahaan haddii computer waa qaab daciif ah. Sidaa darteed, waxaa jira search a binary, taas oo yaraynaysa wakhtiga search ugu yaraan laba jeer.

Sidaas daraaddeed, waa maxay mabda'a shaqada ee habkan ku? Isla markiiba waa in ay sheegayaan in search binary shaqeeyaa ma soo diyaariyeen kasta, laakiin kaliya on set ah soocaa tirooyinka. At tallaabo loo qaaday kasta element dhexe safi (taasoo la micno ah tirada element ah). Haddii loo baahan yahay tirada waa ka weyn yahay celcelis ahaan, ka dibna dhammaan waxa ku tagay, in ka yar tahay unugyada caadiga ah, in la tuuraa karo iyo in aan halkaas ka eegi. Taa waxaa ka duwan, haddii ay ka yar tahay celceliska - ka mid ah tirada kuwa midig, aadan ka raadin kartaa. Ka dibna dooro meel raadinta cusub, halkaas oo element ugu horeysay noqon doonaa element dhexe ee isugu soo dhan, iyo kan ugu dambeeya iyo doonista la soo dhaafay. Celceliska tirada duurka cusub uu noqon doono ¼ ee qeybta oo dhan, in uu yahay, (element la soo dhaafay + element dhexe ee isugu soo dhan) / 2. Mar kale, howlgal la mid ah waxaa lagu sameeyaa - is barbardhig tirada celcelis ahaan soo diyaariyeen ah. Haddii qiimaha bartilmaameedka ka yar tahay celceliska, oo aanaan Beenin dhankiisa midig, iyo sidoo kale in ay soo socda samayn, ilaa hadda this element dhexe aan ku hammin lahaa.

Dabcan, waxaa wanaagsan in aad eegto tusaale ka mid ah sida loo qoro search binary. Pascal halkan haboon qof kasta - version ma aha mid muhiim. Aynu qoro barnaamijka fudud.

Waxaa soo diyaariyeen ah ee 1 ilaa h hoos magaca "massiv" ah, variable ah oo muujinaysa soohdinta hoose ee raadinta, loo yaqaan "niz", xadka sare, loo yaqaan "verh", xilli search celcelis ahaan - "sredn"; iyo tirada loo baahan yahay - "ISK".

Sidaas, marka hore waxaan u yeelaan xad sare iyo hoose ee search kala duwan:

niz: = 1;
verh: = h + 1;

Markaas abaabulo wareegga "ilaa hoose uu ka yar yahay xadka sare":

Iyadoo niz bilaabaan

At tallaabo kasta, waxaan kala qaybi qeybta 2:

sredn: = (niz + verh) QAY 2; {Isticmaal QAY shaqada, sababtoo ah qaybi oo aan dhiman}

Mar kasta oo ka mid ah dib u eegista. Maxaa yeelay, shayga horay loo helay haddii dhexdhexaad ah la la doonayo, joojiyaan meerteysiga:

іf sredn = ISK markaas dhigtay jebin maayo,

Haddii element dhexe safi badan ayaa doonay, iska tuur dhanka bidix, in uu yahay, xuduud sare oo celcelis ahaan u doorataa inay element:

haddii massiv [sredn]> ISK markaas verh: = sredn;

Oo haddii on lid ku ah, waxa ay taasi soohdinta hoose:

kale niz: = sredn;
inuu dhamaado;

Taasi waxa ay noqon doontaa barnaamijka oo dhan.

Ha ka fikiro si aynu sida ay u eegi doonaa habka binary ku dhaqanka. Tixgeli isugu soo this: 1, 3, 5, 7, 10, 12, 18 iyo waxa u doondooni doonaa tirada 12.

Guud ahaan waxaan leenahay 7 xubno ka, sidaas doono dhexdhexaad afraad, qiimaha 7.

1 3 5 7 10 12 18

Tan iyo in ka badan 12, 7, 1.3 iyo 5 cunsur, waxaan iska tuur karo. Markaas ayaan waxaan helay tirada 4, 4/2 hadhay ma jiro 2. Sidaas daraaddeed, element cusub uu noqon doono celcelis ahaan 10.

7 10 12 18

Tan iyo markii ay 12 ka weyn tahay 10, waxaan iska tuur 7. weli keliya 10, 12 iyo 18.

Halkan, element dhexe horeba 12 waa, waa tirada loo baahan yahay. Hawshani waxay ku dhamaanaysaa - tiro 12 ka helay.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 so.atomiyme.com. Theme powered by WordPress.