שיטת האב

מתוך testwiki
גרסה מ־19:00, 26 בנובמבר 2024 מאת imported>בר (תיאור השיטה: עריכה)
(הבדל) → הגרסה הקודמת | הגרסה האחרונה (הבדל) | הגרסה הבאה ← (הבדל)
קפיצה לניווט קפיצה לחיפוש

במדעי המחשב, שיטת האב (Master Theorem) משמשת לפתרון נוסחאות נסיגה של זמן ריצה/זיכרון של אלגוריתמים. כלומר, בהינתן נוסחת נסיגה לזמן ריצתו של אלגוריתם, ניתן להשתמש במקרים מסוימים בשיטה כדי למצוא חסם אסימפטוטי הדוק לזמן הריצה של האלגוריתם כולו. יתרון השיטה בכך שהיא ניתנת ליישום במגוון רחב של מקרים ומספקת פתרון מיידי, כמעט ללא חישוב.

תיאור השיטה

בהינתן נוסחת נסיגה מהצורה:

T(n)=aT(nb)+f(n)wherea1,b>1

ניתן למצוא חסם הדוק אסימפטוטית באחד משלושת המקרים הבאים:

  • מקרה א':
f(n)=O(nlogb(a)ε)T(n)=Θ(nlogba)whereε>0
  • מקרה ב':
f(n)=Θ(nlogba)T(n)=Θ(nlogbalog(n))
  • מקרה ב'- מורחב:

f(n)=Θ(nlogbalogkn)T(n)=Θ(nlogbalogk+1n)wherek0

  • מקרה ג':
f(n)=Ω(nlogb(a)+ε),af(nb)cf(n)T(n)=Θ(f(n))whereε>0,c<1

השיטה פועלת גם עבור nb ו-nb.

דוגמה

לדוגמה, בהינתן נוסחת הנסיגה T(n)=4T(n2)+n2, ניתן להשתמש בשיטת האב באופן הבא:

מציבים a=4,b=2,f(n)=n2, ומקבלים: nlogba=nlog24=n2=f(n). זהו מקרה ב' בשיטת האב, ולכן: T(n)=Θ(n2log(n)).

ראו גם

תבנית:קצרמר