به نام خدا استراتژی برد – برد فلسفه و مدیریت استاد راهنما: دکتر مسعود حجاریان ترجمه: مهشید رفیعی
تهیه کننده : لیلا فلزی استاد مربوطه: استاد توفیقی...
description
Transcript of تهیه کننده : لیلا فلزی استاد مربوطه: استاد توفیقی...
کننده : فلزی تهیه لیال : مربوطه توفیقی استاد استاد
الگوریتمها درس: طراحی
Tower of hanoi
برج هانوی
که است مشهور تاریخی مسائل از یکی هانوی برج مسالهبه نیز الگوریتم طراحی درمباحث
. کنید توجه زیر شکل به شود می پرداخته :آن
- مبدا میله میله کمکی , Aسه مقصد Bمیله میله داریم – . cو مبدا میله در دیسک تعدادی واست : زیر شرط دو رعایت با مقصد میله به میله این از ها دیسک تمام انتقال هدف
جابجا توان می را دیسک یک فقط زماه هر در.نمود
کوچکتر اندازه با دیسک روی بر دیسکی زمانی هیچ در نبایدبگیرد .قرار
مثال عنوان :n=2اگر, به باشد
میله 1دیسک( 1 به ( )Bرا کنیم می :BAمنتقل
میله 2دیسک( 2 به ( )Cرا کنیم می :CAمنتقل
میله 1دیسک( 3 به ( )Cرا کنیم می :CBمنتقل
هانوی برج مساله بازگشتی حل
یک : میله n-1مرحله کمک به و شده ذکر شرایط با مبدا میله باالیی میله Cدیسک بهB. شوند می منتقل
مقصد : میله به مبدا میله از دیسک بزرگترین دو مرحله. شود می منتقل
سه : میله n-1مرحله میله Bدیسک از گرفتن کمک مقصد Aبا میله به. شوند می منتقل
زبان به زیر بازگشتی را++ Cتابع ها حرکت ترتیبکند : می چاپ
Void hanoi(int nDisk, char start, char temp, char finish ){If(nDisk== 1){Cout<<start<<“-->”<<finish<<end;}Else{Hanoi(nDisk-1,start,finish,temp);Cout <<start<<“-->”<<finish<<end;Hanoi(nDisk-1,tempt,start,finish);}}
هانوی برج مساله زمانی پیچیدگی تحلیل
T(n) انتقال جهت الزم های حرکت دیسک nتعدادمقصد به
T(n-1) انتقال برای به n-1حرکت دیسککمکی میله
به دیسک بزرگترین انتقال برای حرکت یکمقصد میله
T(n-1) انتقال برای به n-1حرکت کمکی میله در موجود دیسکمقصد میله
T(n)=2T(n-1)+1
1-T(n)=2ᴺ
O(2ᴺ)
هانوی برج مساله بازگشتی غیر حلVoid hanoi(int nDisk,char start,char temp,char finish){Int max = nDisk;Char dest = finish;Int disk = max;While(true){While(disk>0){if(moving disk succeeds){If(disk== max){Max - - ;
If (max ==0) {Return; }}Dest=the final place of max ;}Else{Dest=the alternative place between dest and the current place of disk ;}Disk - - ;}P and q =the places different of dest ;Disk=the smaller of the disks on top of p and q ;Dest=the place between p and q with greater disk on top ;
که بدانید نیست : بدهانوی برج های حلقه (Hanoi Tower)معمای
که داشت قرار الماسی میله سه دور آسیای در معبدی محوطه در ای، افسانه بر بنا . قرصهای تا بودند تالش در معبد کاهنان بود قرصطالیی تعدادی حاوی آنها از یکی
باور و دهند، انتقال شرایطی تحت میلهها از دیگر یکی به میله آن از را طالئی ! میله رسید خواهد پایان به نیز جهان عمر قرصها انتقال شدن تمام با که داشتند
چیده ۶۴اولیه اندازهشان اساس بر نزولی طور به هم روی بر که داشت، قرصشدهبودند.
رابطه انتقال n - 1 2 از برای ممکن حرکت حداقل . nتعداد با آید می بدست حلقهشاید که آید می دست به رقمی کاهنان، معبد های حلقه تعداد و فوق رابطه به توجهخواهد پایان به نیز جهان عمر ها حلقه همه انتقال با داشتند باور کاهنان نبود دلیل بی
همه. و معبد آن کاهنان کنیم فرض اگر که است بزرگ های اندازه به رقم این رسیدثانیه هر وقفه بی آنها بعدی های حداقل 1نسل تعداد انجام با دهند، انتقال را حلقه
از 18446744073709551616 پس و 585حرکت 000 000 000، ، ،( 585 ) سال میلیارد! دهند انتقال سوم ستون به توانسنتد می را ها حلقه تمامی