Kombiyuutarada, Barnaamijyada
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,
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
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 |
Halkan, element dhexe horeba 12 waa, waa tirada loo baahan yahay. Hawshani waxay ku dhamaanaysaa - tiro 12 ka helay.
Similar articles
Trending Now