1 / 35

Foundations of algorithms Presented By: H.Amerehie

Foundations of algorithms Presented By: H.Amerehie. فصل اول: کارایی ، تحلیل و مرتبه الگوریتم ها. 3 از 35. الگوریتم 1-1: جست و جوی ترتیبی. Presented By:H.Amerehie. 4 از 35. تحلیل پیچیدگی زمانی جست و جوی ترتیبی در حالت میانگین. 5 از 35.

vern
Download Presentation

Foundations of algorithms Presented By: H.Amerehie

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Foundations of algorithms Presented By: H.Amerehie

  2. فصل اول: کارایی ، تحلیل و مرتبه الگوریتم ها Presented By:H.Amerehie

  3. 3 از 35 الگوریتم 1-1: جست و جوی ترتیبی Presented By:H.Amerehie

  4. 4 از 35 تحلیل پیچیدگی زمانی جست و جوی ترتیبی در حالت میانگین Presented By:H.Amerehie

  5. 5 از 35 تحلیل پیچیدگی زمانی جست و جوی ترتیبی در حالت میانگین Presented By:H.Amerehie

  6. 6 از 35 الگوریتم 2-1:محاسبه مجموع عناصر آرایه Presented By:H.Amerehie

  7. 7 از 35 تحلیل پیچیدگی زمانی محاسبه مجموع عناصر آرایه Presented By:H.Amerehie

  8. 8 از 35 الگوریتم 3-1:مرتب سازی تعویضی مسئله: n کلید را به ترتیب غیر نزولی مرتب سازی کنید. Presented By:H.Amerehie

  9. 9 از 35 تحلیل پیچیدگی زمانی مرتب سازی تعویضی Presented By:H.Amerehie

  10. 10 از 35 الگوریتم 4-1: ضرب ماتریس ها Presented By:H.Amerehie

  11. 11 از 35 تحلیل پیچیدگی زمانی ضرب ماتریس ها Presented By:H.Amerehie

  12. 12 از 35 Big O • F(n)=O(g(n)) Ǝ C , n0>0 : ∀n>=n0 f(n)<= C g(n) O(g(n)) : شامل مجموعه ای از توابع پیچیدگی مانند f(n)می باشد که برای هریک از آنها حداقل یک ثابت حقیقی مثبت مانند c و یک عدد صحیح غیر منفی مانند N وجود دارد به طوری که برای هر n>=Nداشته باشیم : f(n)<=c*g(n) C*g(n) F(n) Presented By:H.Amerehie

  13. 13 از 35 Ω • F(n)=Ω(g(n)) Ǝ C , n0>0 : ∀n>=n0 f(n)>= C g(n) Ω(g(n)) : شامل مجموعه ای از توابع پیچیدگی مانند f(n)می باشد که برای هریک از آنها حداقل یک ثابت حقیقی مثبت مانند c و یک عدد صحیح غیر منفی مانند N وجود دارد به طوری که برای هر n>=Nداشته باشیم : f(n)>=c*g(n) - اگرΩ(g(n)) f(n) ، می گوییم که f(n) از امگای g(n)می باشد. - امگا یک حد پایین مجانبی بر روی یک تابع قرار می دهد - تعریف شهودی :f(n) حداقل به بدی g(n) است. F(n) C*g(n) Presented By:H.Amerehie

  14. 14 از 35 θ • F(n)=θ (g(n)) Ǝ c,d, n0>0 : ∀n>=n0c g(n)<=f(n)<=d g(n) θ(g(n)) : شامل مجموعه ای از توابع پیچیدگی مانند f(n)می باشد که برای هریک از آنها ثابت های حقیقی مثبت مانند c و d ویک عدد صحیح غیر منفی مانند N وجود دارد به طوری که برای هر n>=Nداشته باشیم : c*g(n) <= f(n) <= d*g(n) d*g(n) F(n) C*g(n) Presented By:H.Amerehie

  15. 15 از 35 مرتبه اجرایی توابع بازگشتی عمل اصلی : تعداد صدا زدن تابع به صورت بازگشتی روش حل : ابتدا تابع را به فرم توابع ریاضی بازگشتی در آورده وسپس به کمک اصول معادلات بازگشتی آن ها را حل می کنیم . 1 . ترسیم درخت بازگشتی 2 . روش جایگذاری 3 . برهان خلف 4 . روش استقرای ریاضی Presented By:H.Amerehie

  16. 16 از 35 الگوریتم 5-1 : الگوریتم بازگشتی محاسبه فاکتوریل int fact (int n) { if (n==1) return 1; Return (n* fact(n-1)); } Presented By:H.Amerehie

  17. 17 از 35 مرتبه اجرایی الگوریتم بازگشتی محاسبه فاکتوریل T(n)=1 n=1 اگر T(n)=T(n-1)+C در غیر این صورت T(n) = O(n) Presented By:H.Amerehie

  18. 18 از 35 الگوریتم 6-1 : الگوریتم بازگشتی محاسبه سری فیبوناچی Presented By:H.Amerehie

  19. 19 از 35 مرتبه اجرایی الگوریتم بازگشتی محاسبه سری فیبوناچی Presented By:H.Amerehie

  20. 20 از 35 الگوریتم 7-1 : الگوریتم بازگشتی برج هانوی void Hanoi (intn,A,B,C) { if (n==1) Move a disk from A to C; else { Hanoi(n-1,A,C,B); move a disk from A to C; Hanoi(n-1,B,A,C); } } Presented By:H.Amerehie

  21. 21 از 35 مرتبه اجرایی الگوریتم بازگشتی برج هانوی T (n) = 1 n=1اگر اگرn>1 T(n-1)+T(n-1)+1 T(n)=O( 2n ) Presented By:H.Amerehie

  22. 22 از 35 حل روابط بازگشتی ساده با روش جایگذاری برای دسته ای از مسائل ساده که در آن ها T(n)، فقط بستگی به T(n-1) دارد. مثال T(n)=nT(n-1) T(1)=1 Presented By:H.Amerehie

  23. 23 از 35 روابط بازگشتی همگن تعریف : رابطه زیر را یک رابطه بازگشتی همگن خطی از درجه kبا ضرایب ثابت می نامیم . T(n) = C1T(n-1) + C2T(n-2) + …. + CkT(n-k) که C1، C2،....،Ckاعداد ثابت حقیقی بوده و Ck<>0 باشد . Presented By:H.Amerehie

  24. 24 از 35 حل روابط بازگشتی همگن حل روابط بازگشتی همگن مرتبه اول عموما روابط بازگشتی درجه اول با روش جایگذاری به سادگی حل می شوند . مثال T(n) = CT(n-1) حل روابط بازگشتی همگن مرتبه دوم با ضرایب ثابت فرم کلی این روابط به صورت زیر است : CnT(n) + Cn-1T(n-1) + Cn-2T(n-2) = 0 معادله مشخصه : Cnr2 + Cn-1r + Cn-2= 0 Presented By:H.Amerehie

  25. 25 از 35 حل روابط بازگشتی همگن با حل معادله درجه دوم فوق یکی از سه حالت زیر پیش می آید : 1 . دو جواب حقیقی و مجزای r1و r2داریم، جواب رابطه بازگشتی به فرم زیر خواهد بود: T(n) = C1r1n + C2r2n 2 . یک ریشه حقیقی مضاعف r1 داریم ، جواب رابطه بازگشتی به فرم زیر خواهد بود: T(n) = C1r1n + C2nr1n 3 .ریشه های مختلط r1و r2را داریم ، جواب رابطه بازگشتی به فرم زیر خواهد بود: T(n) = C1r1n + C2r2n Presented By:H.Amerehie

  26. 26 از 35 حل روابط بازگشتی همگن مثال 1 : T(n) = T(n-1) + 2T(n-2) مقادیر اولیه : T(0) = 2 T(1) = 7 مثال 2 : T(n+2) = 4T(n+1) – 4T(n) مقادیر اولیه : T(0) = 1 T(1) = 3 Presented By:H.Amerehie

  27. 27 از 35 روابط بازگشتیناهمگن فرم کلی این روابط به صورت زیر است : T(n) = C1T(n-1) + C2T(n-2) + …. + CkT(n-k) + f(n) یکی از روش های حل معادله فوق استفاده از جواب عمومی (Un ) و جواب خصوصی ( Pn ) است. مثال T(n) = 3T(n-1) + 5 * 7n مقادیر اولیه T(0) = 39/4 Presented By:H.Amerehie

  28. 28 از 35 روابط بازگشتیناهمگن قاعده اول : اگر در رابطه بازگشتی ناهمگن ، f(n) = kqnباشد (k یک ثابت معلوم است ) و q یک ریشه معادله مشخصه نباشد آنگاه جواب خاص را به صورت Pn= Cqnمی گیریم وبا جایگذاری آن در رابطه بازگشتی ناهمگن ، مقدار C را بدست می آوریم . نکته : اگر در معادله ناهمگن q یک ریشه ساده معادله مشخصه باشد جواب خاص را به صورت Cnqnدر نظر می گیریم . مثال : T(n)=3T(n-1) + 5 * 3n مقدار اولیه T(0)=2 Presented By:H.Amerehie

  29. 29 از 35 روابط بازگشتیناهمگن قاعده دوم : اگر در رابطه بازگشتی ناهمگن ، f(n) = knqباشد (k یک ثابت معلوم است ) وعددیک ، ریشه معادله مشخصه نباشد آنگاه جواب خاص به صورت زیر است : Pn = C0 + C1n + C2n2 + … + Cqnq نکته : اگر عدد یک، ریشه ساده معادله مشخصه باشد جواب خاص را به صورت زیراست. Pn= C0n + C1n2 + … + Cqnq+1 مثال T(n) = 3T(n-1) - 2T(n-2) + n4 Presented By:H.Amerehie

  30. 30 از 35 روابط بازگشتیناهمگن قاعده سوم : اگر در رابطه بازگشتی ناهمگن f(n) = k باشد ( یعنی عدد ثابتی باشد ) در واقع حالت خاصی از قاعده دوم بوده و Pn = C می باشد که با جایگذاری در رابطه بازگشتی ناهمگن مقدار C بدست می آید. مثال : T(n+1) = 2T(n) + 1 مقدار اولیه T(0)=0 Presented By:H.Amerehie

  31. 31 از 35 روابط بازگشتیناهمگن قاعده چهارم : اگر f(n)ترکیب خطی از قواعد اول، دوم و سوم باشد جواب خاص نیز به فرم ترکیب خطی آن ها خواهد بود. مثال : T(n)=T(n-1) + 4n + 2n Presented By:H.Amerehie

  32. 32 از 35 روابط بازگشتی اگر فرم کلی یک رابطه بازگشتی به صورت زیر باشد : T(n) = aT(n-k) + b در حل رابطه داریم : اگر : a<>1 T(n) = O( an/k ) اگر: a = 1 T(n) = O( n) مثال : T(n) = 3T(n-2) Presented By:H.Amerehie

  33. 33 از 35 روابط بازگشتی از مدل تقسیم و غلبه حالت 1 : T(n) = aT(n/b)θ (n logba) (a<>1) T(n) = 1θ (logbn) (a = 1) مثال : T(n) = T(n/2) Presented By:H.Amerehie

  34. 34 از 35 روابط بازگشتی از مدل تقسیم و غلبه حالت 2 : T(n) = aT(n/b)+ cnkθ (n logba) (a>bk) T(n) = cθ (nklog2n) (a=bk) θ (nk) (a<bk) مثال : T(n) = 2T(n/2) + 1 T(n) = 3T(n/3) + n2 Presented By:H.Amerehie

  35. 35 از 35 روابط بازگشتی از مدل تقسیم و غلبه حالت 3 : O (n logba) ( n logba> O(f(n)) ) T(n) = aT(n/b)+ cf(n) O (f(n)) ( n logba< O(f(n)) ) log n * O(f(n)) (a=b) مثال : T(n) = 4T(n/2) + log n T(n) = 2T(n/2) + n log n Presented By:H.Amerehie

More Related