کمپیوټرونهپروګرامونې

د بائنری لټون په یوه صف کې د عنصر موندلو له لارې یو له آسانه لارو څخه دی

ډیری وختونه، پروګرام کونکي، حتی ابتداييان، د حقیقت سره مخ دي چې د شمیرې یوه مجموعه شتون لري چې په دې کې یو مشخص شمیر پیدا کول ضروري دي. دا ټولګه د صف په نامه یادیږي. او په دې کې د سمې عنصر موندلو لپاره، ډیری لارې شتون لري. مګر د دوی ترټولو تر ټولو ساده بائنري لټون دی. دا طریقه څه ده؟ او څنګه د بائنري لټون پلي کول؟ Pascal د داسې یو پروګرام تنظیم کولو لپاره ترټولو ساده چاپیریال دی، نو موږ به یې د مطالعې لپاره کاروئ.

لومړی، موږ به وڅیړو چې د دې میتود ګټې کوم دي، وروسته له دې، موږ کوالی شو پوه شو، د دې موضوع مطالعه کولو نقطه څه ده؟ نو، داسې فکر وکړئ چې د 100000000 عناصرو د طول سره یو ځای شتون لري، کوم چې تاسو اړتیا لرئ یو ځانګړي پیدا کړئ. البته، دا ستونزه په اسانۍ سره د ساده لینر پلټنه کې حل کیدای شي، په کوم کې موږ د لوپ څخه کار اخلو ترڅو د مطلوب عنصر پرتله کولو سره د ټولو هغو سره پرتله کړو. ستونزه دا ده چې د دې مفکورې پلي کول به ډیر وخت ونیسي. په ساده ساده پروګرام کې د څو پروسیجرونو لپاره او د اصلي متن درې لینونو سره، تاسو به دا نه پوهیږئ، مګر کله چې تاسو د ډیرو څانګو او ښه فعالیت سره ډیر یا لږ لوی پروژې پیل کړئ، بشپړ پروګرام به ډیر اوږد شي. په ځانګړي ډول که چیرې کمپیوټر کمزوری فعالیت ولري. له دې امله، د بائنری لټون شتون لري، چې لږترلږه دوه ځله د پلټنې وخت کموي.

نو، د دې طریقې اصل څه دی؟ ژر تر ژره دا دومره ارزښتناکه ده چې ووایی چې د بائنری لټون پلټنه په کومې اندازې کې نه، بلکه یوازې په یو ترتیب شوي شمیرې کې. په هر ګام کې، د سر منځنۍ عنصر اخیستل کیږي (د عنصر نمبر ته اشاره کوي). که غوښتل شوي شمیر د اوسط څخه ډیر وي نو بیا هرڅه چې ښي خوا ته وي، دا د اوسط عنصر څخه کم وي، کیدای شي له منځه یوړل شي او نه یې پلټل شوي. په برعکس، که د اوسط څخه کم وي، په ښي خوا کې د شمیرې په منځ کې، تاسو نشی کولی د دوی لپاره وګورئ. بله، موږ به د نوې پلټنې ساحه وټاکو، چیرته چې د ټول سایټ منځنی عنصر به لومړنی عنصر وي، او اخری به به وروستنی پاتې وي. د نوې سیمې منځنۍ کچه به د ټولې برخې برخې ¼ وي، کوم چې (وروستنی عنصر + د ټول سایټ اوسط عنصر) / 2 دی. بیا بیا، هماغه عملیات ترسره کیږي - د اوسط شمېر د ارقامو پرتله کول. که غوښتل شوی ارزښت د اوسط څخه کم وي، د ښي لاس اړخ پریږدي، او تر هغه چې دا منځنۍ عنصر پیدا شي تر هغه مه کوئ.

البته، د مثال په لور ترټولو غوره لار دا ده چې څنګه د بائنری لټون ولیکئ. دلته د هر چا لپاره مناسبه ده - نسخه مهم نه دی. راځئ یو ساده پروګرام ولیکئ.

دا به د 1 څخه تر H حرف "massiv" نومیږي، د متغیر د لټون د سرحد حد متغیر دی، چې "niz" نومیږي، چې پورته یې "verh" دی، د منځنۍ پلټنې عنصر "sredn" دی؛ او اړین شمیره شمیره "رنګ" ده.

نو، لومړی د پلټنې وقاله د لوړو او لاندینیو سرحدونو برابرول:

Niz: = 1؛
Verh: = h + 1؛

بیا مو دا سائیکل تنظیموو "پداسې حال کې چې ټیټ د لوړو پولو څخه کم دی":

پداسې حال کې چې نشتر - 1 کوي
پیل کړئ

په هره مرحله کې، د برخې برخې دوهمه برخه ویشئ:

Sredn: = (niz + verh) div 2؛ {د ډوی فعالیت کاروئ ځکه چې موږ پاتې پاتې دی}

هرکله چې موږ یوه پلټنه ترسره کوو. که چېرې اوسط د غوښتل شوې یو سره برابر وي، موږ د چریک مداخله کوو، ځکه چې غوښتل شوي عنصر یې لا دمخه موندلی دی:

که بیا وروسته بریښنا مات شي

که چېرته د منځنۍ منځنۍ عنصر لوی وي له هغه چا څخه چې موږ یې لټوي لوی وي، موږ د ښي خوا څخه ګوښه کوو، دا دی، موږ منځنۍ عنصر د پاسه سرحد ته وړاندې کوو:

که چیرې massiv [srnn]> isk then verh: = sredn؛

او که برعکس، نو موږ دا ټیټه کچه جوړوي:

نه پوهیږي: = sredn؛
پای

دا ټول هغه پروګرام دی چې په پروګرام کې به وي.

راځئ چې تجزیه وکړو چې څنګه به د بائنری میتود په عمل کې وګورئ. داسې یو ډول واخله: 1، 3، 5، 7، 10، 12، 18 او په دې کې 12 شمیره وګورئ.

په مجموع کې، موږ 7 عناصر لرو، له دې امله منځنۍ کچه به څلورم وي، دا ارزښت 7.

1 3 5 اووم 10 12 18

له دې امله چې له 12 څخه ډیر لوی وي، عناصر 1،3 او 5 له منځه ځي. بله، موږ 4 شمېره پریښودلي، 4/2 بې له دې پرته. نو نو منځنی عنصر به 10 وي.

اووم 10 12 18

له 12 څخه زیات د 10 څخه راپدیخوا، موږ ضبط کړو. یوازې 10، 12 او 18 یې پریښودل شوي.

دلته منځنی عنصر لا دمخه 12 دی، دا اړین نمبر دی. دا کار بشپړ شوی - 12 شمیره موندل کیږي.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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