slide1
Download
Skip this Video
Download Presentation
طراحي الگوريتم ها

Loading in 2 Seconds...

play fullscreen
1 / 16

طراحي الگوريتم ها - PowerPoint PPT Presentation


  • 139 Views
  • Uploaded on

فصل 2. طراحي الگوريتم ها. Computer algorithms. Computer algorithms. الگوریتم های بازگشتی الگوریتم های غیر بازگشتی(ترتیبی). محاسبه زمان الگوریتم بازگشتی. زمان حل زیر مساله زمان شکستن مساله به زیر مسائل زمان لازم برای ادغام جوابهای زیر مسائل. مراحل الگوریتم بازگشتی. 1- عمل فراخوانی

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' طراحي الگوريتم ها' - marcel


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide2

Computer algorithms

  • الگوریتم های بازگشتی
  • الگوریتم های غیر بازگشتی(ترتیبی)
slide3
محاسبه زمان الگوریتم بازگشتی
  • زمان حل زیر مساله
  • زمان شکستن مساله به زیر مسائل
  • زمان لازم برای ادغام جوابهای زیر مسائل
slide4
مراحل الگوریتم بازگشتی
  • 1- عمل فراخوانی
    • قرارگیری متغیرهای محلی و مقادیر آنها و آدرس بازگشت در پشته
    • انتقال پارامترها
    • انتقال کنترل برنامه به ابتدای پردازه جدید
  • 2- بازگشت از یک فراخوانی
    • قرارگیری متغیرهای محلی از پشته به خود متغیر
    • آدرس بازگشت و ادامه اجرا
slide5
کارایی بازگشتی
  • تکرار محاسبه یک مقدار بالاخص در حالت درختی
  • Another Reason for Slowdowns [Tree Recursion]
    • Traditional Recursion doesn’t save answers as it executes
    • Fib(5)

= Fib(4) + Fib(3)

= Fib(3) + Fib(2) + Fib(3)

= Fib(2) + Fib(1) + Fib(2) + Fib(3)

= Fib(1) + Fib(0) + Fib(1) + Fib(2) + Fib(3)

= Fib(1) + Fib(0) + Fib(1) + Fib(1) + Fib(0) + Fib(3)

= Fib(1) + Fib(0) + Fib(1) + Fib(1) + Fib(0) + Fib(2) + Fib(1)

= Fib(1) + Fib(0) + Fib(1) + Fib(1) + Fib(0) + Fib(1) + Fib(0) + Fib(1)

  • Solution: Dynamic programming – saving answers as you go and reusing them
slide6

مسئله فاکتوریل

طراحی الگوریتم

slide8

مسئله محاسبه جمله nام سری فیبوناچی

طراحی الگوریتم

slide9

پیمایش درختی : چگونگی فراخوانی بازگشتی تابعfib

طراحی الگوریتم

fibonacci
غیر بازگشتیFibonacci

int fibonacci(int input)

{

int first = 1;

int second = 1;

int temp;

for (int k = 0; k < input; k++)

{

temp = first;

first = second;

second = temp + second;

}

return first;

}

طراحی الگوریتم

slide11

مقایسه الگوریتم بازگشتی و غیر بازگشتی فیبوناچی

طراحی الگوریتم

slide12

الگوريتم بازگشتي پيدا كردن يك عنصر از ليست (جستجوي ترتيبي)

طراحی الگوریتم

slide14

مسئله برج هانوی

طراحی الگوریتم

ad