מבני נתונים ויעילות אלגוריתמים

Post on 01-Jan-2016

155 views 2 download

description

מכללת אורט כפר-סבא. מבני נתונים ויעילות אלגוריתמים. צירופים קומבינטוריים מיון מיזוג ( Merge Sort ). 29.10.14. אורי וולטמן. uri.weltmann@gmail.com. חידה לחימום. נתונה שורה של N משבצות, אשר חלקן צבועות בשחור וחלקן צבועות בלבן. - PowerPoint PPT Presentation

Transcript of מבני נתונים ויעילות אלגוריתמים

מבני נתוניםויעילות אלגוריתמים

מכללת אורט כפר-סבא

אורי וולטמן

uriweltmanngmailcom

291014

צירופים קומבינטוריים

(Merge Sortמיון מיזוג )

נתונה שורה שלN משבצות אשר חלקן צבועות בשחור וחלקן צבועות בלבן

האופרטורreverse מקבל כפרמטרים את האינדקסים של שתי משבצות )לאו דווקא סמוכות( והופך את הצבע

של כל אחת מהן )צבע לבן הופך לשחור וצבע שחור הופך ללבן(

כתבו תכנית אשר מקבלת כקלט אתN ורשימה של ( הפלט שלה 1-האינדקסים השחורים )שבסופה הזקיף

הוא הודעה האם ניתן על-ידי הפעלה חוזרת ונשנית של האופרטור להפוך את משבצות השורה כולה לצבע לבן

חידה לחימום

חידה לחימום נתון לוח בגודלN Nx3 אי-זוגי חיובי אשר צבוע בשחור-לבן כמו לוח שח כך

שהמשבצת המרכזית בשורה העליונה והמשבצת המרכזית בשורה התחתונה צבועות בשחור

על המשבצת השחורה בשורה התחתונה מוצב כלי משחק שני שחקניםמובילים את הכלי במעלה הלוח כך שכל אחד בתורו מוביל את הכלי לפי

בחירתו למשבצת שחורה הסמוכה אליו אלכסונית בשורה מעליו או למשבצת השחורה הנמצאת בעמודה שלו שתי שורות מעליו

מנצח במשחק השחקן אשר מציב את הכלי על המשבצת השחורה בשורההעליונה

נסחו אסטרטגיה אשר תוביל לניצחון במשחק בניסוח האסטרטגיה יש לומר )מס השורות בלוח( האם עדיף להיות השחקן הפותח או Nבהינתן הערך

השחקן השני וכיצד יש לפעול בכל מהלך בתגובה למהלך היריב כדי להבטיח ניצחון במשחק בכל מקרה

כתבו תכנית מחשב בשפתC המקבלת כקלט את Nמחליטה האם להיות השחקן הפותח או השחקן השני ומשחקת מול

המשתמש כך שהיא תנצח תמיד

תזכורת - עצרת( פונקציה מתמטית מוכרת היא פונקצית העצרתfactorial )

הביטוי nהמסומנת בסימן קריאה )( בעבור מספר שלם חיובי n-עד 1 הוא מכפלת כל המספרים השלמים מ n

n = 12 3 4 hellip nלדוגמא

5 = 12 3 4 5 = 120

7 = 12 3 4 5 6 7 = 5040 0 = 1מקובל להגדיר לפונקצית העצרת שימושים רבים במתמטיקה בעיקר

נותן לנו את מספר n( למשל combinatoricsבקומבינטוריקה ) עצמים שוניםnהדרכים השונות לסדר בשורה

תזכורת - עצרת ניתן לכתוב פונקציה איטרטיבית )המשתמשת בלולאה( המקבלת

n ומחזירה את nמספר שלם אי-שלילי

ניתן לנצל את המבנה הרקורסיבי של הפונקציהn = n)n-1( ולכתוב פונקציה רקורסיבית הפותרת את אותה הבעיה

int factorial (int n)

int i product = 1

for (i=1 ilt=n i++)

product = i

return product

int factorial (int n)

if (n == 0)

return 1

else

return factorial(n-1)n

צירופים נתונה קבוצה שלn איברים לתת-קבוצה בעלת k איברים של קבוצה זו

n איברים מתוך k( של combination )צירוףנקרא נסמן את מספר הצירופים שלk איברים מתוך n על-ידי C)nk( 4לדוגמא אם נתונה קבוצה בת איברים abcdאז

4יש ארבעה צירופים של איבר אחד מתוך a b c d על כןC)41( = 4

4יש שישה צירופים של שני איברים מתוךab ac ad bc bd cd על כןC)42( = 6

4יש ארבעה צירופים של שלושה איברים מתוך abc abd acd bcd על כןC)43( = 4

4יש צירוף אחד של ארבעה איברים מתוך abcd על כןC)44( = 1

צירופים סימון מקובל נוסף למספר הצירופים שלk איברים מתוך n בנוסף

הוא הסימון הבא)C)nkלסימון לביטוי זה נהוג לקרואn ר Lח Mב k )n-choose-k( או n מעל kקל לראות שמתקיימות הזהויות הבאות

איך נחשב את מספר האפשרויות לבחורk איברים מתוך n יש לנוnאפשרויות לבחור את האיבר הראשון יש לנוn-1אפשרויות לבחור את האיבר השני יש לנוn-2אפשרויות לבחור את האיבר השלישי יש לנוn-k+1-אפשרויות לבחור את האיבר ה kי- קיבלנו בינתיים את המכפלהn)n-1()n-2(hellip)n-k+1(האם זו התשובה

צירופים חשוב לזכור כשאנחנו בוחרים תת-קבוצה בגודלk מתוך קבוצה בגודל

n כלומר קודם לבחור את אין חשיבות לסדר שבקבוצות a ואחכ b אמור להיספר כאותו הצירוף כמו קודם לבחור את bלבחור את

aואחכ לבחור את מה זה אומר על ערכו שלC)nk(

המכפלהn)n-1()n-2(hellip)n-k+1( נותנת לנו ביטוי גדול מדי משום שבביטוי זה יש חשיבות לסדר )כלומר צירופים זהים נספרים יותר מפעם

אחת( הפתרון הוא לחלק ביטוי זה במספר הסידורים האפשריים שלk האיברים

kשנבחרו קרי לחלק ב-לכן התשובה הסופית היא

זה עולה בקנה אחד עם הדוגמא שראינו קודם כשבחרנו צירופים שלk abcdאיברים מתוך

צירופים ניתן לפתח את הביטויC)nk(באופן הבא

קיבלנו ביטוי המתאר אתn-בחר-kבמונחים של פונקציית העצרת

צירופיםניתן להשתמש בזהות

-k-בחרn המחשבת את ערכו של Cעל מנת לפתח פונקציה בשפת

unsigned long choose (int n int k)

return factorial(n) (factorial(k) factorial(n-k))

נקבל כי1 = 0מכיוון שהגדרנו

קל לראות גם כי מתקיימת הזהות הבאה

-בנוסף נקבע שC)nk( = 0 עבור k gt n

צירופים האם ישנה דרך נוספת לחשב את

ביטוי זה מציין את מספר הדרכים לבחורk איברים מתוך n-נסמן אחד מnהאיברים שמתוכם עלינו לבחור ונכנה אותו האיבר המיוחד כשאנחנו בוחריםk איברים מתוך n יש שתי אפשרויות או שאנחנו מכלילים

האיברים שאנחנו בוחרים או שלא מכלילים אותוkאת האיבר המיוחד בין אם אנחנו לא מכלילים את האיבר המיוחד אז עלינו לבחורk איברים מתוך

n-1 איברים )כל איברי הקבוצה שאינם האיבר המיוחד( מס הצירופים הואn-1 איברים מתוך kלבחירת

אם אנחנו כן מכלילים את האיבר המיוחד אז נותר לנו לבחורk-1 איברים איברים )כל איברי הקבוצה שאינם האיבר המיוחד( מס n-1מתוך

הואn-1 איברים מתוך k-1הצירופים לבחירת

מכיוון שאלו שתי האפשרויות היחידות נקבל את הזהות

צירופיםניתן להשתמש בזהות

על מנת לפתח את הפונקציה הרקורסיבית הבאה

unsigned long choose (int n int k)

if (k gt n)

return 0

if (k == 0 || k == n)

return 1

return (choose(n-1k) + choose(n-1k-1))

נסדר אתC)nk(בצורת משולש ברור שכל הביטויים שעל שתי הצלעות

1 הצדדיות של המשולש שווים כולם ל- כמו כן מתקייםC)n1( = n לכל nלפי הזהות

נובע שכל איבר במשולש שווה לסכום

שני האיברים שמעליו

המשולש שהתקבל נקרא משולש פסקל על שם המתמטיקאי

17 הצרפתי מהמאה ה-(Blaise Pascal בלייז פסקל )

משולש פסקל

משולש פסקל פסקל גילה את משולש פסקל כשעסק בחישובים הסתברותיים שונים

והוכיח כי למשולש ישנן תכונות מתמטיות מעניינות רבותנצבע בשחור את המספרים האי-זוגיים שבמשולש פסקל

( קיבלנו את משולש סרפינסקיSierpinskirsquos Triangle) נסתכל על ערכי המשולש כעל ספרות

(0 לבן = 1 בינאריות )שחור = נעיין במספרים הבינאריים שהתקבלו

משולש פסקלאם נסתכל על כל שורה כעל מספר בינארי נקבל את סדרת המספרים

1 3 5 15 17 51 85 255 257 771 1285 3855 4369hellip מספרים אלו מציינים אילו מצולעים משוכללים בעלי מס אי-זוגי של

צלעות ניתן לבנות בעזרת סרגל ומחוגהנחקרה כבר בידי בנייה גיאומטרית בסרגל ובמחוגה

( ושאר Euclid )אוקלידסהמתמטיקאים ביוון העתיקה

מיזוג נתונים לנו שני מערכיםarr1-ו arr2 בסדר ממוינים אשר שניהם

עולה מעוניינים ליצור מערך שלישיarr3 שיכיל את כל האיברים שבשני

המערכים הראשונים כשהם ממוינים בסדר עולהנציג אלגוריתם מיזוג הפותר את הבעיה

נציב שני מצביעים על תחילתו של כל אחד מהמערכיםarr1-ו arr2 נשווה את ערכיהם של האיברים בתאים שעליהם מורים המצביעים

)התאים הראשונים בכל אחד מהמערכים( במקום הראשון במערךarr3 נשמור את האיבר שערכו הוא הנמוך מבין

השניים ונקדם את המצביע שהצביע על איבר זה אל התא הבא במערך

נחזור על הצעד לגבי הערכים החדשים של המצביעיםנמשיך באותו האופן עד שאחד המצביעים יגיע לסוף המערך-אז כמובן לא נקדם אותו יותר ונעתיק לarr3 לפי הסדר את האיברים

הנותרים במערך השני

מיזוגמהי סיבוכיות זמן הריצה של האלגוריתם

הצעד הבסיסי באלגוריתם המיזוג כולל במקרה הגרוע ביותר(WC השוואה בין שני ערכים במערך העתקת איבר למערך )

שלישי ועדכון הערכים של אחד המצביעים מספר הצעדים המבוצע הוא כאורכו של המערך הממוזג ואם

)Θ)n נקבל כי סיבוכיות זמן הריצה היא nנסמן גודל זה ב-

מיזוג

מיון כיצד אפשר להשתמש באלגוריתם המיזוג שתיארנו כדי למיין

n באורך Aמערך אם נחלק אתA לשני תת-מערכים שווים פחות או יותר בגודלם

ונמיין כל אחד מהם נוכל לאחר מכן להשתמש באלגוריתם המיזוג שפיתחנו על מנת למזג שני חלקים אלה למערך ממוין

נשאלת השאלה מהי דרך המיון שנשתמש בה כדי למיין את שני אולי נשתמש למשל באחד האלגוריתמים למיון Aחלקי המערך

שהכרנו )כמו מיון בחירה מיון בועות או מיון הכנסה( ניתן לעשות זאת אולם בכך לא נשיג שיפור ביעילות האלגוריתם

אשר תישאר ריבועית

מיון מיזוגהמפתח לשיפור במקרה הזה הוא שימוש ברקורסיה את המערך המקורי חילקנו לשני תת-מערכים שווים פחות או יותר

בגודלם ואנחנו מעוניינים למיין כל אחד מהםאת שני החצאים האלה של המערך המקורי נוכל למיין רקורסיבית

נחלק כל אחד מחצאים אלה לשני חלקים )שגודל כל אחד מהם רבעמגודלו של המערך המקורי(

נמיין שוב כל חלק בצורה רקורסיביתנמזג את הרבעים הממוינים ונקבל שני תת-מערכים ממוינים

תת-מערך זה כבר ממוין 1בשלב כלשהו נגיע לתת-מערך בגודל ולכן הרקורסיה תיעצר

מיון מיזוגשיטת מיון זו מכונה( Merge Sort)

מיון מיזוגנכתוב את האלגוריתם

(anמיון-מיזוג)a אזי החזר n = 1אם

אחרתb לתוך מערך a האיברים הראשונים של n2הכנס את c לתוך מערך a האיברים האחרונים של n2הכנס את (bn2מיון-מיזוג)(cn2מיון-מיזוג)

והחזר אותוa למערך c ו-bמזג את שני המערכים

איזו נוסחת נסיגה מבטאת את זמן הריצה שלהאלגוריתם

T)n( =

Θ)1(

n

אם 1 =

2T)n2( + Θ)n( n gt 1 אם

מיון מיזוג

0 1 2 7 54 8 3

1 2 7 5

04 8 3

מיון מיזוג

1 2 7 504 8 3

מיון מיזוג

1 2 7 503

4 8

מיון מיזוג

1 2 7 5

034 8

מיון מיזוג

1 2 7 5

038

4

מיון מיזוג

1 2 7 5

03

4 8

מיון מיזוג

1 2 7 5

30

8

4 03

מיון מיזוג

1 2 7 5

3084 03

מיון מיזוג

1 2 7 5

3084

3

0

מיון מיזוג

1 2 7 5

3084

3 0

מיון מיזוג

1 2 7 5

084

3

מיון מיזוג

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

נתונה שורה שלN משבצות אשר חלקן צבועות בשחור וחלקן צבועות בלבן

האופרטורreverse מקבל כפרמטרים את האינדקסים של שתי משבצות )לאו דווקא סמוכות( והופך את הצבע

של כל אחת מהן )צבע לבן הופך לשחור וצבע שחור הופך ללבן(

כתבו תכנית אשר מקבלת כקלט אתN ורשימה של ( הפלט שלה 1-האינדקסים השחורים )שבסופה הזקיף

הוא הודעה האם ניתן על-ידי הפעלה חוזרת ונשנית של האופרטור להפוך את משבצות השורה כולה לצבע לבן

חידה לחימום

חידה לחימום נתון לוח בגודלN Nx3 אי-זוגי חיובי אשר צבוע בשחור-לבן כמו לוח שח כך

שהמשבצת המרכזית בשורה העליונה והמשבצת המרכזית בשורה התחתונה צבועות בשחור

על המשבצת השחורה בשורה התחתונה מוצב כלי משחק שני שחקניםמובילים את הכלי במעלה הלוח כך שכל אחד בתורו מוביל את הכלי לפי

בחירתו למשבצת שחורה הסמוכה אליו אלכסונית בשורה מעליו או למשבצת השחורה הנמצאת בעמודה שלו שתי שורות מעליו

מנצח במשחק השחקן אשר מציב את הכלי על המשבצת השחורה בשורההעליונה

נסחו אסטרטגיה אשר תוביל לניצחון במשחק בניסוח האסטרטגיה יש לומר )מס השורות בלוח( האם עדיף להיות השחקן הפותח או Nבהינתן הערך

השחקן השני וכיצד יש לפעול בכל מהלך בתגובה למהלך היריב כדי להבטיח ניצחון במשחק בכל מקרה

כתבו תכנית מחשב בשפתC המקבלת כקלט את Nמחליטה האם להיות השחקן הפותח או השחקן השני ומשחקת מול

המשתמש כך שהיא תנצח תמיד

תזכורת - עצרת( פונקציה מתמטית מוכרת היא פונקצית העצרתfactorial )

הביטוי nהמסומנת בסימן קריאה )( בעבור מספר שלם חיובי n-עד 1 הוא מכפלת כל המספרים השלמים מ n

n = 12 3 4 hellip nלדוגמא

5 = 12 3 4 5 = 120

7 = 12 3 4 5 6 7 = 5040 0 = 1מקובל להגדיר לפונקצית העצרת שימושים רבים במתמטיקה בעיקר

נותן לנו את מספר n( למשל combinatoricsבקומבינטוריקה ) עצמים שוניםnהדרכים השונות לסדר בשורה

תזכורת - עצרת ניתן לכתוב פונקציה איטרטיבית )המשתמשת בלולאה( המקבלת

n ומחזירה את nמספר שלם אי-שלילי

ניתן לנצל את המבנה הרקורסיבי של הפונקציהn = n)n-1( ולכתוב פונקציה רקורסיבית הפותרת את אותה הבעיה

int factorial (int n)

int i product = 1

for (i=1 ilt=n i++)

product = i

return product

int factorial (int n)

if (n == 0)

return 1

else

return factorial(n-1)n

צירופים נתונה קבוצה שלn איברים לתת-קבוצה בעלת k איברים של קבוצה זו

n איברים מתוך k( של combination )צירוףנקרא נסמן את מספר הצירופים שלk איברים מתוך n על-ידי C)nk( 4לדוגמא אם נתונה קבוצה בת איברים abcdאז

4יש ארבעה צירופים של איבר אחד מתוך a b c d על כןC)41( = 4

4יש שישה צירופים של שני איברים מתוךab ac ad bc bd cd על כןC)42( = 6

4יש ארבעה צירופים של שלושה איברים מתוך abc abd acd bcd על כןC)43( = 4

4יש צירוף אחד של ארבעה איברים מתוך abcd על כןC)44( = 1

צירופים סימון מקובל נוסף למספר הצירופים שלk איברים מתוך n בנוסף

הוא הסימון הבא)C)nkלסימון לביטוי זה נהוג לקרואn ר Lח Mב k )n-choose-k( או n מעל kקל לראות שמתקיימות הזהויות הבאות

איך נחשב את מספר האפשרויות לבחורk איברים מתוך n יש לנוnאפשרויות לבחור את האיבר הראשון יש לנוn-1אפשרויות לבחור את האיבר השני יש לנוn-2אפשרויות לבחור את האיבר השלישי יש לנוn-k+1-אפשרויות לבחור את האיבר ה kי- קיבלנו בינתיים את המכפלהn)n-1()n-2(hellip)n-k+1(האם זו התשובה

צירופים חשוב לזכור כשאנחנו בוחרים תת-קבוצה בגודלk מתוך קבוצה בגודל

n כלומר קודם לבחור את אין חשיבות לסדר שבקבוצות a ואחכ b אמור להיספר כאותו הצירוף כמו קודם לבחור את bלבחור את

aואחכ לבחור את מה זה אומר על ערכו שלC)nk(

המכפלהn)n-1()n-2(hellip)n-k+1( נותנת לנו ביטוי גדול מדי משום שבביטוי זה יש חשיבות לסדר )כלומר צירופים זהים נספרים יותר מפעם

אחת( הפתרון הוא לחלק ביטוי זה במספר הסידורים האפשריים שלk האיברים

kשנבחרו קרי לחלק ב-לכן התשובה הסופית היא

זה עולה בקנה אחד עם הדוגמא שראינו קודם כשבחרנו צירופים שלk abcdאיברים מתוך

צירופים ניתן לפתח את הביטויC)nk(באופן הבא

קיבלנו ביטוי המתאר אתn-בחר-kבמונחים של פונקציית העצרת

צירופיםניתן להשתמש בזהות

-k-בחרn המחשבת את ערכו של Cעל מנת לפתח פונקציה בשפת

unsigned long choose (int n int k)

return factorial(n) (factorial(k) factorial(n-k))

נקבל כי1 = 0מכיוון שהגדרנו

קל לראות גם כי מתקיימת הזהות הבאה

-בנוסף נקבע שC)nk( = 0 עבור k gt n

צירופים האם ישנה דרך נוספת לחשב את

ביטוי זה מציין את מספר הדרכים לבחורk איברים מתוך n-נסמן אחד מnהאיברים שמתוכם עלינו לבחור ונכנה אותו האיבר המיוחד כשאנחנו בוחריםk איברים מתוך n יש שתי אפשרויות או שאנחנו מכלילים

האיברים שאנחנו בוחרים או שלא מכלילים אותוkאת האיבר המיוחד בין אם אנחנו לא מכלילים את האיבר המיוחד אז עלינו לבחורk איברים מתוך

n-1 איברים )כל איברי הקבוצה שאינם האיבר המיוחד( מס הצירופים הואn-1 איברים מתוך kלבחירת

אם אנחנו כן מכלילים את האיבר המיוחד אז נותר לנו לבחורk-1 איברים איברים )כל איברי הקבוצה שאינם האיבר המיוחד( מס n-1מתוך

הואn-1 איברים מתוך k-1הצירופים לבחירת

מכיוון שאלו שתי האפשרויות היחידות נקבל את הזהות

צירופיםניתן להשתמש בזהות

על מנת לפתח את הפונקציה הרקורסיבית הבאה

unsigned long choose (int n int k)

if (k gt n)

return 0

if (k == 0 || k == n)

return 1

return (choose(n-1k) + choose(n-1k-1))

נסדר אתC)nk(בצורת משולש ברור שכל הביטויים שעל שתי הצלעות

1 הצדדיות של המשולש שווים כולם ל- כמו כן מתקייםC)n1( = n לכל nלפי הזהות

נובע שכל איבר במשולש שווה לסכום

שני האיברים שמעליו

המשולש שהתקבל נקרא משולש פסקל על שם המתמטיקאי

17 הצרפתי מהמאה ה-(Blaise Pascal בלייז פסקל )

משולש פסקל

משולש פסקל פסקל גילה את משולש פסקל כשעסק בחישובים הסתברותיים שונים

והוכיח כי למשולש ישנן תכונות מתמטיות מעניינות רבותנצבע בשחור את המספרים האי-זוגיים שבמשולש פסקל

( קיבלנו את משולש סרפינסקיSierpinskirsquos Triangle) נסתכל על ערכי המשולש כעל ספרות

(0 לבן = 1 בינאריות )שחור = נעיין במספרים הבינאריים שהתקבלו

משולש פסקלאם נסתכל על כל שורה כעל מספר בינארי נקבל את סדרת המספרים

1 3 5 15 17 51 85 255 257 771 1285 3855 4369hellip מספרים אלו מציינים אילו מצולעים משוכללים בעלי מס אי-זוגי של

צלעות ניתן לבנות בעזרת סרגל ומחוגהנחקרה כבר בידי בנייה גיאומטרית בסרגל ובמחוגה

( ושאר Euclid )אוקלידסהמתמטיקאים ביוון העתיקה

מיזוג נתונים לנו שני מערכיםarr1-ו arr2 בסדר ממוינים אשר שניהם

עולה מעוניינים ליצור מערך שלישיarr3 שיכיל את כל האיברים שבשני

המערכים הראשונים כשהם ממוינים בסדר עולהנציג אלגוריתם מיזוג הפותר את הבעיה

נציב שני מצביעים על תחילתו של כל אחד מהמערכיםarr1-ו arr2 נשווה את ערכיהם של האיברים בתאים שעליהם מורים המצביעים

)התאים הראשונים בכל אחד מהמערכים( במקום הראשון במערךarr3 נשמור את האיבר שערכו הוא הנמוך מבין

השניים ונקדם את המצביע שהצביע על איבר זה אל התא הבא במערך

נחזור על הצעד לגבי הערכים החדשים של המצביעיםנמשיך באותו האופן עד שאחד המצביעים יגיע לסוף המערך-אז כמובן לא נקדם אותו יותר ונעתיק לarr3 לפי הסדר את האיברים

הנותרים במערך השני

מיזוגמהי סיבוכיות זמן הריצה של האלגוריתם

הצעד הבסיסי באלגוריתם המיזוג כולל במקרה הגרוע ביותר(WC השוואה בין שני ערכים במערך העתקת איבר למערך )

שלישי ועדכון הערכים של אחד המצביעים מספר הצעדים המבוצע הוא כאורכו של המערך הממוזג ואם

)Θ)n נקבל כי סיבוכיות זמן הריצה היא nנסמן גודל זה ב-

מיזוג

מיון כיצד אפשר להשתמש באלגוריתם המיזוג שתיארנו כדי למיין

n באורך Aמערך אם נחלק אתA לשני תת-מערכים שווים פחות או יותר בגודלם

ונמיין כל אחד מהם נוכל לאחר מכן להשתמש באלגוריתם המיזוג שפיתחנו על מנת למזג שני חלקים אלה למערך ממוין

נשאלת השאלה מהי דרך המיון שנשתמש בה כדי למיין את שני אולי נשתמש למשל באחד האלגוריתמים למיון Aחלקי המערך

שהכרנו )כמו מיון בחירה מיון בועות או מיון הכנסה( ניתן לעשות זאת אולם בכך לא נשיג שיפור ביעילות האלגוריתם

אשר תישאר ריבועית

מיון מיזוגהמפתח לשיפור במקרה הזה הוא שימוש ברקורסיה את המערך המקורי חילקנו לשני תת-מערכים שווים פחות או יותר

בגודלם ואנחנו מעוניינים למיין כל אחד מהםאת שני החצאים האלה של המערך המקורי נוכל למיין רקורסיבית

נחלק כל אחד מחצאים אלה לשני חלקים )שגודל כל אחד מהם רבעמגודלו של המערך המקורי(

נמיין שוב כל חלק בצורה רקורסיביתנמזג את הרבעים הממוינים ונקבל שני תת-מערכים ממוינים

תת-מערך זה כבר ממוין 1בשלב כלשהו נגיע לתת-מערך בגודל ולכן הרקורסיה תיעצר

מיון מיזוגשיטת מיון זו מכונה( Merge Sort)

מיון מיזוגנכתוב את האלגוריתם

(anמיון-מיזוג)a אזי החזר n = 1אם

אחרתb לתוך מערך a האיברים הראשונים של n2הכנס את c לתוך מערך a האיברים האחרונים של n2הכנס את (bn2מיון-מיזוג)(cn2מיון-מיזוג)

והחזר אותוa למערך c ו-bמזג את שני המערכים

איזו נוסחת נסיגה מבטאת את זמן הריצה שלהאלגוריתם

T)n( =

Θ)1(

n

אם 1 =

2T)n2( + Θ)n( n gt 1 אם

מיון מיזוג

0 1 2 7 54 8 3

1 2 7 5

04 8 3

מיון מיזוג

1 2 7 504 8 3

מיון מיזוג

1 2 7 503

4 8

מיון מיזוג

1 2 7 5

034 8

מיון מיזוג

1 2 7 5

038

4

מיון מיזוג

1 2 7 5

03

4 8

מיון מיזוג

1 2 7 5

30

8

4 03

מיון מיזוג

1 2 7 5

3084 03

מיון מיזוג

1 2 7 5

3084

3

0

מיון מיזוג

1 2 7 5

3084

3 0

מיון מיזוג

1 2 7 5

084

3

מיון מיזוג

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

חידה לחימום נתון לוח בגודלN Nx3 אי-זוגי חיובי אשר צבוע בשחור-לבן כמו לוח שח כך

שהמשבצת המרכזית בשורה העליונה והמשבצת המרכזית בשורה התחתונה צבועות בשחור

על המשבצת השחורה בשורה התחתונה מוצב כלי משחק שני שחקניםמובילים את הכלי במעלה הלוח כך שכל אחד בתורו מוביל את הכלי לפי

בחירתו למשבצת שחורה הסמוכה אליו אלכסונית בשורה מעליו או למשבצת השחורה הנמצאת בעמודה שלו שתי שורות מעליו

מנצח במשחק השחקן אשר מציב את הכלי על המשבצת השחורה בשורההעליונה

נסחו אסטרטגיה אשר תוביל לניצחון במשחק בניסוח האסטרטגיה יש לומר )מס השורות בלוח( האם עדיף להיות השחקן הפותח או Nבהינתן הערך

השחקן השני וכיצד יש לפעול בכל מהלך בתגובה למהלך היריב כדי להבטיח ניצחון במשחק בכל מקרה

כתבו תכנית מחשב בשפתC המקבלת כקלט את Nמחליטה האם להיות השחקן הפותח או השחקן השני ומשחקת מול

המשתמש כך שהיא תנצח תמיד

תזכורת - עצרת( פונקציה מתמטית מוכרת היא פונקצית העצרתfactorial )

הביטוי nהמסומנת בסימן קריאה )( בעבור מספר שלם חיובי n-עד 1 הוא מכפלת כל המספרים השלמים מ n

n = 12 3 4 hellip nלדוגמא

5 = 12 3 4 5 = 120

7 = 12 3 4 5 6 7 = 5040 0 = 1מקובל להגדיר לפונקצית העצרת שימושים רבים במתמטיקה בעיקר

נותן לנו את מספר n( למשל combinatoricsבקומבינטוריקה ) עצמים שוניםnהדרכים השונות לסדר בשורה

תזכורת - עצרת ניתן לכתוב פונקציה איטרטיבית )המשתמשת בלולאה( המקבלת

n ומחזירה את nמספר שלם אי-שלילי

ניתן לנצל את המבנה הרקורסיבי של הפונקציהn = n)n-1( ולכתוב פונקציה רקורסיבית הפותרת את אותה הבעיה

int factorial (int n)

int i product = 1

for (i=1 ilt=n i++)

product = i

return product

int factorial (int n)

if (n == 0)

return 1

else

return factorial(n-1)n

צירופים נתונה קבוצה שלn איברים לתת-קבוצה בעלת k איברים של קבוצה זו

n איברים מתוך k( של combination )צירוףנקרא נסמן את מספר הצירופים שלk איברים מתוך n על-ידי C)nk( 4לדוגמא אם נתונה קבוצה בת איברים abcdאז

4יש ארבעה צירופים של איבר אחד מתוך a b c d על כןC)41( = 4

4יש שישה צירופים של שני איברים מתוךab ac ad bc bd cd על כןC)42( = 6

4יש ארבעה צירופים של שלושה איברים מתוך abc abd acd bcd על כןC)43( = 4

4יש צירוף אחד של ארבעה איברים מתוך abcd על כןC)44( = 1

צירופים סימון מקובל נוסף למספר הצירופים שלk איברים מתוך n בנוסף

הוא הסימון הבא)C)nkלסימון לביטוי זה נהוג לקרואn ר Lח Mב k )n-choose-k( או n מעל kקל לראות שמתקיימות הזהויות הבאות

איך נחשב את מספר האפשרויות לבחורk איברים מתוך n יש לנוnאפשרויות לבחור את האיבר הראשון יש לנוn-1אפשרויות לבחור את האיבר השני יש לנוn-2אפשרויות לבחור את האיבר השלישי יש לנוn-k+1-אפשרויות לבחור את האיבר ה kי- קיבלנו בינתיים את המכפלהn)n-1()n-2(hellip)n-k+1(האם זו התשובה

צירופים חשוב לזכור כשאנחנו בוחרים תת-קבוצה בגודלk מתוך קבוצה בגודל

n כלומר קודם לבחור את אין חשיבות לסדר שבקבוצות a ואחכ b אמור להיספר כאותו הצירוף כמו קודם לבחור את bלבחור את

aואחכ לבחור את מה זה אומר על ערכו שלC)nk(

המכפלהn)n-1()n-2(hellip)n-k+1( נותנת לנו ביטוי גדול מדי משום שבביטוי זה יש חשיבות לסדר )כלומר צירופים זהים נספרים יותר מפעם

אחת( הפתרון הוא לחלק ביטוי זה במספר הסידורים האפשריים שלk האיברים

kשנבחרו קרי לחלק ב-לכן התשובה הסופית היא

זה עולה בקנה אחד עם הדוגמא שראינו קודם כשבחרנו צירופים שלk abcdאיברים מתוך

צירופים ניתן לפתח את הביטויC)nk(באופן הבא

קיבלנו ביטוי המתאר אתn-בחר-kבמונחים של פונקציית העצרת

צירופיםניתן להשתמש בזהות

-k-בחרn המחשבת את ערכו של Cעל מנת לפתח פונקציה בשפת

unsigned long choose (int n int k)

return factorial(n) (factorial(k) factorial(n-k))

נקבל כי1 = 0מכיוון שהגדרנו

קל לראות גם כי מתקיימת הזהות הבאה

-בנוסף נקבע שC)nk( = 0 עבור k gt n

צירופים האם ישנה דרך נוספת לחשב את

ביטוי זה מציין את מספר הדרכים לבחורk איברים מתוך n-נסמן אחד מnהאיברים שמתוכם עלינו לבחור ונכנה אותו האיבר המיוחד כשאנחנו בוחריםk איברים מתוך n יש שתי אפשרויות או שאנחנו מכלילים

האיברים שאנחנו בוחרים או שלא מכלילים אותוkאת האיבר המיוחד בין אם אנחנו לא מכלילים את האיבר המיוחד אז עלינו לבחורk איברים מתוך

n-1 איברים )כל איברי הקבוצה שאינם האיבר המיוחד( מס הצירופים הואn-1 איברים מתוך kלבחירת

אם אנחנו כן מכלילים את האיבר המיוחד אז נותר לנו לבחורk-1 איברים איברים )כל איברי הקבוצה שאינם האיבר המיוחד( מס n-1מתוך

הואn-1 איברים מתוך k-1הצירופים לבחירת

מכיוון שאלו שתי האפשרויות היחידות נקבל את הזהות

צירופיםניתן להשתמש בזהות

על מנת לפתח את הפונקציה הרקורסיבית הבאה

unsigned long choose (int n int k)

if (k gt n)

return 0

if (k == 0 || k == n)

return 1

return (choose(n-1k) + choose(n-1k-1))

נסדר אתC)nk(בצורת משולש ברור שכל הביטויים שעל שתי הצלעות

1 הצדדיות של המשולש שווים כולם ל- כמו כן מתקייםC)n1( = n לכל nלפי הזהות

נובע שכל איבר במשולש שווה לסכום

שני האיברים שמעליו

המשולש שהתקבל נקרא משולש פסקל על שם המתמטיקאי

17 הצרפתי מהמאה ה-(Blaise Pascal בלייז פסקל )

משולש פסקל

משולש פסקל פסקל גילה את משולש פסקל כשעסק בחישובים הסתברותיים שונים

והוכיח כי למשולש ישנן תכונות מתמטיות מעניינות רבותנצבע בשחור את המספרים האי-זוגיים שבמשולש פסקל

( קיבלנו את משולש סרפינסקיSierpinskirsquos Triangle) נסתכל על ערכי המשולש כעל ספרות

(0 לבן = 1 בינאריות )שחור = נעיין במספרים הבינאריים שהתקבלו

משולש פסקלאם נסתכל על כל שורה כעל מספר בינארי נקבל את סדרת המספרים

1 3 5 15 17 51 85 255 257 771 1285 3855 4369hellip מספרים אלו מציינים אילו מצולעים משוכללים בעלי מס אי-זוגי של

צלעות ניתן לבנות בעזרת סרגל ומחוגהנחקרה כבר בידי בנייה גיאומטרית בסרגל ובמחוגה

( ושאר Euclid )אוקלידסהמתמטיקאים ביוון העתיקה

מיזוג נתונים לנו שני מערכיםarr1-ו arr2 בסדר ממוינים אשר שניהם

עולה מעוניינים ליצור מערך שלישיarr3 שיכיל את כל האיברים שבשני

המערכים הראשונים כשהם ממוינים בסדר עולהנציג אלגוריתם מיזוג הפותר את הבעיה

נציב שני מצביעים על תחילתו של כל אחד מהמערכיםarr1-ו arr2 נשווה את ערכיהם של האיברים בתאים שעליהם מורים המצביעים

)התאים הראשונים בכל אחד מהמערכים( במקום הראשון במערךarr3 נשמור את האיבר שערכו הוא הנמוך מבין

השניים ונקדם את המצביע שהצביע על איבר זה אל התא הבא במערך

נחזור על הצעד לגבי הערכים החדשים של המצביעיםנמשיך באותו האופן עד שאחד המצביעים יגיע לסוף המערך-אז כמובן לא נקדם אותו יותר ונעתיק לarr3 לפי הסדר את האיברים

הנותרים במערך השני

מיזוגמהי סיבוכיות זמן הריצה של האלגוריתם

הצעד הבסיסי באלגוריתם המיזוג כולל במקרה הגרוע ביותר(WC השוואה בין שני ערכים במערך העתקת איבר למערך )

שלישי ועדכון הערכים של אחד המצביעים מספר הצעדים המבוצע הוא כאורכו של המערך הממוזג ואם

)Θ)n נקבל כי סיבוכיות זמן הריצה היא nנסמן גודל זה ב-

מיזוג

מיון כיצד אפשר להשתמש באלגוריתם המיזוג שתיארנו כדי למיין

n באורך Aמערך אם נחלק אתA לשני תת-מערכים שווים פחות או יותר בגודלם

ונמיין כל אחד מהם נוכל לאחר מכן להשתמש באלגוריתם המיזוג שפיתחנו על מנת למזג שני חלקים אלה למערך ממוין

נשאלת השאלה מהי דרך המיון שנשתמש בה כדי למיין את שני אולי נשתמש למשל באחד האלגוריתמים למיון Aחלקי המערך

שהכרנו )כמו מיון בחירה מיון בועות או מיון הכנסה( ניתן לעשות זאת אולם בכך לא נשיג שיפור ביעילות האלגוריתם

אשר תישאר ריבועית

מיון מיזוגהמפתח לשיפור במקרה הזה הוא שימוש ברקורסיה את המערך המקורי חילקנו לשני תת-מערכים שווים פחות או יותר

בגודלם ואנחנו מעוניינים למיין כל אחד מהםאת שני החצאים האלה של המערך המקורי נוכל למיין רקורסיבית

נחלק כל אחד מחצאים אלה לשני חלקים )שגודל כל אחד מהם רבעמגודלו של המערך המקורי(

נמיין שוב כל חלק בצורה רקורסיביתנמזג את הרבעים הממוינים ונקבל שני תת-מערכים ממוינים

תת-מערך זה כבר ממוין 1בשלב כלשהו נגיע לתת-מערך בגודל ולכן הרקורסיה תיעצר

מיון מיזוגשיטת מיון זו מכונה( Merge Sort)

מיון מיזוגנכתוב את האלגוריתם

(anמיון-מיזוג)a אזי החזר n = 1אם

אחרתb לתוך מערך a האיברים הראשונים של n2הכנס את c לתוך מערך a האיברים האחרונים של n2הכנס את (bn2מיון-מיזוג)(cn2מיון-מיזוג)

והחזר אותוa למערך c ו-bמזג את שני המערכים

איזו נוסחת נסיגה מבטאת את זמן הריצה שלהאלגוריתם

T)n( =

Θ)1(

n

אם 1 =

2T)n2( + Θ)n( n gt 1 אם

מיון מיזוג

0 1 2 7 54 8 3

1 2 7 5

04 8 3

מיון מיזוג

1 2 7 504 8 3

מיון מיזוג

1 2 7 503

4 8

מיון מיזוג

1 2 7 5

034 8

מיון מיזוג

1 2 7 5

038

4

מיון מיזוג

1 2 7 5

03

4 8

מיון מיזוג

1 2 7 5

30

8

4 03

מיון מיזוג

1 2 7 5

3084 03

מיון מיזוג

1 2 7 5

3084

3

0

מיון מיזוג

1 2 7 5

3084

3 0

מיון מיזוג

1 2 7 5

084

3

מיון מיזוג

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

תזכורת - עצרת( פונקציה מתמטית מוכרת היא פונקצית העצרתfactorial )

הביטוי nהמסומנת בסימן קריאה )( בעבור מספר שלם חיובי n-עד 1 הוא מכפלת כל המספרים השלמים מ n

n = 12 3 4 hellip nלדוגמא

5 = 12 3 4 5 = 120

7 = 12 3 4 5 6 7 = 5040 0 = 1מקובל להגדיר לפונקצית העצרת שימושים רבים במתמטיקה בעיקר

נותן לנו את מספר n( למשל combinatoricsבקומבינטוריקה ) עצמים שוניםnהדרכים השונות לסדר בשורה

תזכורת - עצרת ניתן לכתוב פונקציה איטרטיבית )המשתמשת בלולאה( המקבלת

n ומחזירה את nמספר שלם אי-שלילי

ניתן לנצל את המבנה הרקורסיבי של הפונקציהn = n)n-1( ולכתוב פונקציה רקורסיבית הפותרת את אותה הבעיה

int factorial (int n)

int i product = 1

for (i=1 ilt=n i++)

product = i

return product

int factorial (int n)

if (n == 0)

return 1

else

return factorial(n-1)n

צירופים נתונה קבוצה שלn איברים לתת-קבוצה בעלת k איברים של קבוצה זו

n איברים מתוך k( של combination )צירוףנקרא נסמן את מספר הצירופים שלk איברים מתוך n על-ידי C)nk( 4לדוגמא אם נתונה קבוצה בת איברים abcdאז

4יש ארבעה צירופים של איבר אחד מתוך a b c d על כןC)41( = 4

4יש שישה צירופים של שני איברים מתוךab ac ad bc bd cd על כןC)42( = 6

4יש ארבעה צירופים של שלושה איברים מתוך abc abd acd bcd על כןC)43( = 4

4יש צירוף אחד של ארבעה איברים מתוך abcd על כןC)44( = 1

צירופים סימון מקובל נוסף למספר הצירופים שלk איברים מתוך n בנוסף

הוא הסימון הבא)C)nkלסימון לביטוי זה נהוג לקרואn ר Lח Mב k )n-choose-k( או n מעל kקל לראות שמתקיימות הזהויות הבאות

איך נחשב את מספר האפשרויות לבחורk איברים מתוך n יש לנוnאפשרויות לבחור את האיבר הראשון יש לנוn-1אפשרויות לבחור את האיבר השני יש לנוn-2אפשרויות לבחור את האיבר השלישי יש לנוn-k+1-אפשרויות לבחור את האיבר ה kי- קיבלנו בינתיים את המכפלהn)n-1()n-2(hellip)n-k+1(האם זו התשובה

צירופים חשוב לזכור כשאנחנו בוחרים תת-קבוצה בגודלk מתוך קבוצה בגודל

n כלומר קודם לבחור את אין חשיבות לסדר שבקבוצות a ואחכ b אמור להיספר כאותו הצירוף כמו קודם לבחור את bלבחור את

aואחכ לבחור את מה זה אומר על ערכו שלC)nk(

המכפלהn)n-1()n-2(hellip)n-k+1( נותנת לנו ביטוי גדול מדי משום שבביטוי זה יש חשיבות לסדר )כלומר צירופים זהים נספרים יותר מפעם

אחת( הפתרון הוא לחלק ביטוי זה במספר הסידורים האפשריים שלk האיברים

kשנבחרו קרי לחלק ב-לכן התשובה הסופית היא

זה עולה בקנה אחד עם הדוגמא שראינו קודם כשבחרנו צירופים שלk abcdאיברים מתוך

צירופים ניתן לפתח את הביטויC)nk(באופן הבא

קיבלנו ביטוי המתאר אתn-בחר-kבמונחים של פונקציית העצרת

צירופיםניתן להשתמש בזהות

-k-בחרn המחשבת את ערכו של Cעל מנת לפתח פונקציה בשפת

unsigned long choose (int n int k)

return factorial(n) (factorial(k) factorial(n-k))

נקבל כי1 = 0מכיוון שהגדרנו

קל לראות גם כי מתקיימת הזהות הבאה

-בנוסף נקבע שC)nk( = 0 עבור k gt n

צירופים האם ישנה דרך נוספת לחשב את

ביטוי זה מציין את מספר הדרכים לבחורk איברים מתוך n-נסמן אחד מnהאיברים שמתוכם עלינו לבחור ונכנה אותו האיבר המיוחד כשאנחנו בוחריםk איברים מתוך n יש שתי אפשרויות או שאנחנו מכלילים

האיברים שאנחנו בוחרים או שלא מכלילים אותוkאת האיבר המיוחד בין אם אנחנו לא מכלילים את האיבר המיוחד אז עלינו לבחורk איברים מתוך

n-1 איברים )כל איברי הקבוצה שאינם האיבר המיוחד( מס הצירופים הואn-1 איברים מתוך kלבחירת

אם אנחנו כן מכלילים את האיבר המיוחד אז נותר לנו לבחורk-1 איברים איברים )כל איברי הקבוצה שאינם האיבר המיוחד( מס n-1מתוך

הואn-1 איברים מתוך k-1הצירופים לבחירת

מכיוון שאלו שתי האפשרויות היחידות נקבל את הזהות

צירופיםניתן להשתמש בזהות

על מנת לפתח את הפונקציה הרקורסיבית הבאה

unsigned long choose (int n int k)

if (k gt n)

return 0

if (k == 0 || k == n)

return 1

return (choose(n-1k) + choose(n-1k-1))

נסדר אתC)nk(בצורת משולש ברור שכל הביטויים שעל שתי הצלעות

1 הצדדיות של המשולש שווים כולם ל- כמו כן מתקייםC)n1( = n לכל nלפי הזהות

נובע שכל איבר במשולש שווה לסכום

שני האיברים שמעליו

המשולש שהתקבל נקרא משולש פסקל על שם המתמטיקאי

17 הצרפתי מהמאה ה-(Blaise Pascal בלייז פסקל )

משולש פסקל

משולש פסקל פסקל גילה את משולש פסקל כשעסק בחישובים הסתברותיים שונים

והוכיח כי למשולש ישנן תכונות מתמטיות מעניינות רבותנצבע בשחור את המספרים האי-זוגיים שבמשולש פסקל

( קיבלנו את משולש סרפינסקיSierpinskirsquos Triangle) נסתכל על ערכי המשולש כעל ספרות

(0 לבן = 1 בינאריות )שחור = נעיין במספרים הבינאריים שהתקבלו

משולש פסקלאם נסתכל על כל שורה כעל מספר בינארי נקבל את סדרת המספרים

1 3 5 15 17 51 85 255 257 771 1285 3855 4369hellip מספרים אלו מציינים אילו מצולעים משוכללים בעלי מס אי-זוגי של

צלעות ניתן לבנות בעזרת סרגל ומחוגהנחקרה כבר בידי בנייה גיאומטרית בסרגל ובמחוגה

( ושאר Euclid )אוקלידסהמתמטיקאים ביוון העתיקה

מיזוג נתונים לנו שני מערכיםarr1-ו arr2 בסדר ממוינים אשר שניהם

עולה מעוניינים ליצור מערך שלישיarr3 שיכיל את כל האיברים שבשני

המערכים הראשונים כשהם ממוינים בסדר עולהנציג אלגוריתם מיזוג הפותר את הבעיה

נציב שני מצביעים על תחילתו של כל אחד מהמערכיםarr1-ו arr2 נשווה את ערכיהם של האיברים בתאים שעליהם מורים המצביעים

)התאים הראשונים בכל אחד מהמערכים( במקום הראשון במערךarr3 נשמור את האיבר שערכו הוא הנמוך מבין

השניים ונקדם את המצביע שהצביע על איבר זה אל התא הבא במערך

נחזור על הצעד לגבי הערכים החדשים של המצביעיםנמשיך באותו האופן עד שאחד המצביעים יגיע לסוף המערך-אז כמובן לא נקדם אותו יותר ונעתיק לarr3 לפי הסדר את האיברים

הנותרים במערך השני

מיזוגמהי סיבוכיות זמן הריצה של האלגוריתם

הצעד הבסיסי באלגוריתם המיזוג כולל במקרה הגרוע ביותר(WC השוואה בין שני ערכים במערך העתקת איבר למערך )

שלישי ועדכון הערכים של אחד המצביעים מספר הצעדים המבוצע הוא כאורכו של המערך הממוזג ואם

)Θ)n נקבל כי סיבוכיות זמן הריצה היא nנסמן גודל זה ב-

מיזוג

מיון כיצד אפשר להשתמש באלגוריתם המיזוג שתיארנו כדי למיין

n באורך Aמערך אם נחלק אתA לשני תת-מערכים שווים פחות או יותר בגודלם

ונמיין כל אחד מהם נוכל לאחר מכן להשתמש באלגוריתם המיזוג שפיתחנו על מנת למזג שני חלקים אלה למערך ממוין

נשאלת השאלה מהי דרך המיון שנשתמש בה כדי למיין את שני אולי נשתמש למשל באחד האלגוריתמים למיון Aחלקי המערך

שהכרנו )כמו מיון בחירה מיון בועות או מיון הכנסה( ניתן לעשות זאת אולם בכך לא נשיג שיפור ביעילות האלגוריתם

אשר תישאר ריבועית

מיון מיזוגהמפתח לשיפור במקרה הזה הוא שימוש ברקורסיה את המערך המקורי חילקנו לשני תת-מערכים שווים פחות או יותר

בגודלם ואנחנו מעוניינים למיין כל אחד מהםאת שני החצאים האלה של המערך המקורי נוכל למיין רקורסיבית

נחלק כל אחד מחצאים אלה לשני חלקים )שגודל כל אחד מהם רבעמגודלו של המערך המקורי(

נמיין שוב כל חלק בצורה רקורסיביתנמזג את הרבעים הממוינים ונקבל שני תת-מערכים ממוינים

תת-מערך זה כבר ממוין 1בשלב כלשהו נגיע לתת-מערך בגודל ולכן הרקורסיה תיעצר

מיון מיזוגשיטת מיון זו מכונה( Merge Sort)

מיון מיזוגנכתוב את האלגוריתם

(anמיון-מיזוג)a אזי החזר n = 1אם

אחרתb לתוך מערך a האיברים הראשונים של n2הכנס את c לתוך מערך a האיברים האחרונים של n2הכנס את (bn2מיון-מיזוג)(cn2מיון-מיזוג)

והחזר אותוa למערך c ו-bמזג את שני המערכים

איזו נוסחת נסיגה מבטאת את זמן הריצה שלהאלגוריתם

T)n( =

Θ)1(

n

אם 1 =

2T)n2( + Θ)n( n gt 1 אם

מיון מיזוג

0 1 2 7 54 8 3

1 2 7 5

04 8 3

מיון מיזוג

1 2 7 504 8 3

מיון מיזוג

1 2 7 503

4 8

מיון מיזוג

1 2 7 5

034 8

מיון מיזוג

1 2 7 5

038

4

מיון מיזוג

1 2 7 5

03

4 8

מיון מיזוג

1 2 7 5

30

8

4 03

מיון מיזוג

1 2 7 5

3084 03

מיון מיזוג

1 2 7 5

3084

3

0

מיון מיזוג

1 2 7 5

3084

3 0

מיון מיזוג

1 2 7 5

084

3

מיון מיזוג

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

תזכורת - עצרת ניתן לכתוב פונקציה איטרטיבית )המשתמשת בלולאה( המקבלת

n ומחזירה את nמספר שלם אי-שלילי

ניתן לנצל את המבנה הרקורסיבי של הפונקציהn = n)n-1( ולכתוב פונקציה רקורסיבית הפותרת את אותה הבעיה

int factorial (int n)

int i product = 1

for (i=1 ilt=n i++)

product = i

return product

int factorial (int n)

if (n == 0)

return 1

else

return factorial(n-1)n

צירופים נתונה קבוצה שלn איברים לתת-קבוצה בעלת k איברים של קבוצה זו

n איברים מתוך k( של combination )צירוףנקרא נסמן את מספר הצירופים שלk איברים מתוך n על-ידי C)nk( 4לדוגמא אם נתונה קבוצה בת איברים abcdאז

4יש ארבעה צירופים של איבר אחד מתוך a b c d על כןC)41( = 4

4יש שישה צירופים של שני איברים מתוךab ac ad bc bd cd על כןC)42( = 6

4יש ארבעה צירופים של שלושה איברים מתוך abc abd acd bcd על כןC)43( = 4

4יש צירוף אחד של ארבעה איברים מתוך abcd על כןC)44( = 1

צירופים סימון מקובל נוסף למספר הצירופים שלk איברים מתוך n בנוסף

הוא הסימון הבא)C)nkלסימון לביטוי זה נהוג לקרואn ר Lח Mב k )n-choose-k( או n מעל kקל לראות שמתקיימות הזהויות הבאות

איך נחשב את מספר האפשרויות לבחורk איברים מתוך n יש לנוnאפשרויות לבחור את האיבר הראשון יש לנוn-1אפשרויות לבחור את האיבר השני יש לנוn-2אפשרויות לבחור את האיבר השלישי יש לנוn-k+1-אפשרויות לבחור את האיבר ה kי- קיבלנו בינתיים את המכפלהn)n-1()n-2(hellip)n-k+1(האם זו התשובה

צירופים חשוב לזכור כשאנחנו בוחרים תת-קבוצה בגודלk מתוך קבוצה בגודל

n כלומר קודם לבחור את אין חשיבות לסדר שבקבוצות a ואחכ b אמור להיספר כאותו הצירוף כמו קודם לבחור את bלבחור את

aואחכ לבחור את מה זה אומר על ערכו שלC)nk(

המכפלהn)n-1()n-2(hellip)n-k+1( נותנת לנו ביטוי גדול מדי משום שבביטוי זה יש חשיבות לסדר )כלומר צירופים זהים נספרים יותר מפעם

אחת( הפתרון הוא לחלק ביטוי זה במספר הסידורים האפשריים שלk האיברים

kשנבחרו קרי לחלק ב-לכן התשובה הסופית היא

זה עולה בקנה אחד עם הדוגמא שראינו קודם כשבחרנו צירופים שלk abcdאיברים מתוך

צירופים ניתן לפתח את הביטויC)nk(באופן הבא

קיבלנו ביטוי המתאר אתn-בחר-kבמונחים של פונקציית העצרת

צירופיםניתן להשתמש בזהות

-k-בחרn המחשבת את ערכו של Cעל מנת לפתח פונקציה בשפת

unsigned long choose (int n int k)

return factorial(n) (factorial(k) factorial(n-k))

נקבל כי1 = 0מכיוון שהגדרנו

קל לראות גם כי מתקיימת הזהות הבאה

-בנוסף נקבע שC)nk( = 0 עבור k gt n

צירופים האם ישנה דרך נוספת לחשב את

ביטוי זה מציין את מספר הדרכים לבחורk איברים מתוך n-נסמן אחד מnהאיברים שמתוכם עלינו לבחור ונכנה אותו האיבר המיוחד כשאנחנו בוחריםk איברים מתוך n יש שתי אפשרויות או שאנחנו מכלילים

האיברים שאנחנו בוחרים או שלא מכלילים אותוkאת האיבר המיוחד בין אם אנחנו לא מכלילים את האיבר המיוחד אז עלינו לבחורk איברים מתוך

n-1 איברים )כל איברי הקבוצה שאינם האיבר המיוחד( מס הצירופים הואn-1 איברים מתוך kלבחירת

אם אנחנו כן מכלילים את האיבר המיוחד אז נותר לנו לבחורk-1 איברים איברים )כל איברי הקבוצה שאינם האיבר המיוחד( מס n-1מתוך

הואn-1 איברים מתוך k-1הצירופים לבחירת

מכיוון שאלו שתי האפשרויות היחידות נקבל את הזהות

צירופיםניתן להשתמש בזהות

על מנת לפתח את הפונקציה הרקורסיבית הבאה

unsigned long choose (int n int k)

if (k gt n)

return 0

if (k == 0 || k == n)

return 1

return (choose(n-1k) + choose(n-1k-1))

נסדר אתC)nk(בצורת משולש ברור שכל הביטויים שעל שתי הצלעות

1 הצדדיות של המשולש שווים כולם ל- כמו כן מתקייםC)n1( = n לכל nלפי הזהות

נובע שכל איבר במשולש שווה לסכום

שני האיברים שמעליו

המשולש שהתקבל נקרא משולש פסקל על שם המתמטיקאי

17 הצרפתי מהמאה ה-(Blaise Pascal בלייז פסקל )

משולש פסקל

משולש פסקל פסקל גילה את משולש פסקל כשעסק בחישובים הסתברותיים שונים

והוכיח כי למשולש ישנן תכונות מתמטיות מעניינות רבותנצבע בשחור את המספרים האי-זוגיים שבמשולש פסקל

( קיבלנו את משולש סרפינסקיSierpinskirsquos Triangle) נסתכל על ערכי המשולש כעל ספרות

(0 לבן = 1 בינאריות )שחור = נעיין במספרים הבינאריים שהתקבלו

משולש פסקלאם נסתכל על כל שורה כעל מספר בינארי נקבל את סדרת המספרים

1 3 5 15 17 51 85 255 257 771 1285 3855 4369hellip מספרים אלו מציינים אילו מצולעים משוכללים בעלי מס אי-זוגי של

צלעות ניתן לבנות בעזרת סרגל ומחוגהנחקרה כבר בידי בנייה גיאומטרית בסרגל ובמחוגה

( ושאר Euclid )אוקלידסהמתמטיקאים ביוון העתיקה

מיזוג נתונים לנו שני מערכיםarr1-ו arr2 בסדר ממוינים אשר שניהם

עולה מעוניינים ליצור מערך שלישיarr3 שיכיל את כל האיברים שבשני

המערכים הראשונים כשהם ממוינים בסדר עולהנציג אלגוריתם מיזוג הפותר את הבעיה

נציב שני מצביעים על תחילתו של כל אחד מהמערכיםarr1-ו arr2 נשווה את ערכיהם של האיברים בתאים שעליהם מורים המצביעים

)התאים הראשונים בכל אחד מהמערכים( במקום הראשון במערךarr3 נשמור את האיבר שערכו הוא הנמוך מבין

השניים ונקדם את המצביע שהצביע על איבר זה אל התא הבא במערך

נחזור על הצעד לגבי הערכים החדשים של המצביעיםנמשיך באותו האופן עד שאחד המצביעים יגיע לסוף המערך-אז כמובן לא נקדם אותו יותר ונעתיק לarr3 לפי הסדר את האיברים

הנותרים במערך השני

מיזוגמהי סיבוכיות זמן הריצה של האלגוריתם

הצעד הבסיסי באלגוריתם המיזוג כולל במקרה הגרוע ביותר(WC השוואה בין שני ערכים במערך העתקת איבר למערך )

שלישי ועדכון הערכים של אחד המצביעים מספר הצעדים המבוצע הוא כאורכו של המערך הממוזג ואם

)Θ)n נקבל כי סיבוכיות זמן הריצה היא nנסמן גודל זה ב-

מיזוג

מיון כיצד אפשר להשתמש באלגוריתם המיזוג שתיארנו כדי למיין

n באורך Aמערך אם נחלק אתA לשני תת-מערכים שווים פחות או יותר בגודלם

ונמיין כל אחד מהם נוכל לאחר מכן להשתמש באלגוריתם המיזוג שפיתחנו על מנת למזג שני חלקים אלה למערך ממוין

נשאלת השאלה מהי דרך המיון שנשתמש בה כדי למיין את שני אולי נשתמש למשל באחד האלגוריתמים למיון Aחלקי המערך

שהכרנו )כמו מיון בחירה מיון בועות או מיון הכנסה( ניתן לעשות זאת אולם בכך לא נשיג שיפור ביעילות האלגוריתם

אשר תישאר ריבועית

מיון מיזוגהמפתח לשיפור במקרה הזה הוא שימוש ברקורסיה את המערך המקורי חילקנו לשני תת-מערכים שווים פחות או יותר

בגודלם ואנחנו מעוניינים למיין כל אחד מהםאת שני החצאים האלה של המערך המקורי נוכל למיין רקורסיבית

נחלק כל אחד מחצאים אלה לשני חלקים )שגודל כל אחד מהם רבעמגודלו של המערך המקורי(

נמיין שוב כל חלק בצורה רקורסיביתנמזג את הרבעים הממוינים ונקבל שני תת-מערכים ממוינים

תת-מערך זה כבר ממוין 1בשלב כלשהו נגיע לתת-מערך בגודל ולכן הרקורסיה תיעצר

מיון מיזוגשיטת מיון זו מכונה( Merge Sort)

מיון מיזוגנכתוב את האלגוריתם

(anמיון-מיזוג)a אזי החזר n = 1אם

אחרתb לתוך מערך a האיברים הראשונים של n2הכנס את c לתוך מערך a האיברים האחרונים של n2הכנס את (bn2מיון-מיזוג)(cn2מיון-מיזוג)

והחזר אותוa למערך c ו-bמזג את שני המערכים

איזו נוסחת נסיגה מבטאת את זמן הריצה שלהאלגוריתם

T)n( =

Θ)1(

n

אם 1 =

2T)n2( + Θ)n( n gt 1 אם

מיון מיזוג

0 1 2 7 54 8 3

1 2 7 5

04 8 3

מיון מיזוג

1 2 7 504 8 3

מיון מיזוג

1 2 7 503

4 8

מיון מיזוג

1 2 7 5

034 8

מיון מיזוג

1 2 7 5

038

4

מיון מיזוג

1 2 7 5

03

4 8

מיון מיזוג

1 2 7 5

30

8

4 03

מיון מיזוג

1 2 7 5

3084 03

מיון מיזוג

1 2 7 5

3084

3

0

מיון מיזוג

1 2 7 5

3084

3 0

מיון מיזוג

1 2 7 5

084

3

מיון מיזוג

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

צירופים נתונה קבוצה שלn איברים לתת-קבוצה בעלת k איברים של קבוצה זו

n איברים מתוך k( של combination )צירוףנקרא נסמן את מספר הצירופים שלk איברים מתוך n על-ידי C)nk( 4לדוגמא אם נתונה קבוצה בת איברים abcdאז

4יש ארבעה צירופים של איבר אחד מתוך a b c d על כןC)41( = 4

4יש שישה צירופים של שני איברים מתוךab ac ad bc bd cd על כןC)42( = 6

4יש ארבעה צירופים של שלושה איברים מתוך abc abd acd bcd על כןC)43( = 4

4יש צירוף אחד של ארבעה איברים מתוך abcd על כןC)44( = 1

צירופים סימון מקובל נוסף למספר הצירופים שלk איברים מתוך n בנוסף

הוא הסימון הבא)C)nkלסימון לביטוי זה נהוג לקרואn ר Lח Mב k )n-choose-k( או n מעל kקל לראות שמתקיימות הזהויות הבאות

איך נחשב את מספר האפשרויות לבחורk איברים מתוך n יש לנוnאפשרויות לבחור את האיבר הראשון יש לנוn-1אפשרויות לבחור את האיבר השני יש לנוn-2אפשרויות לבחור את האיבר השלישי יש לנוn-k+1-אפשרויות לבחור את האיבר ה kי- קיבלנו בינתיים את המכפלהn)n-1()n-2(hellip)n-k+1(האם זו התשובה

צירופים חשוב לזכור כשאנחנו בוחרים תת-קבוצה בגודלk מתוך קבוצה בגודל

n כלומר קודם לבחור את אין חשיבות לסדר שבקבוצות a ואחכ b אמור להיספר כאותו הצירוף כמו קודם לבחור את bלבחור את

aואחכ לבחור את מה זה אומר על ערכו שלC)nk(

המכפלהn)n-1()n-2(hellip)n-k+1( נותנת לנו ביטוי גדול מדי משום שבביטוי זה יש חשיבות לסדר )כלומר צירופים זהים נספרים יותר מפעם

אחת( הפתרון הוא לחלק ביטוי זה במספר הסידורים האפשריים שלk האיברים

kשנבחרו קרי לחלק ב-לכן התשובה הסופית היא

זה עולה בקנה אחד עם הדוגמא שראינו קודם כשבחרנו צירופים שלk abcdאיברים מתוך

צירופים ניתן לפתח את הביטויC)nk(באופן הבא

קיבלנו ביטוי המתאר אתn-בחר-kבמונחים של פונקציית העצרת

צירופיםניתן להשתמש בזהות

-k-בחרn המחשבת את ערכו של Cעל מנת לפתח פונקציה בשפת

unsigned long choose (int n int k)

return factorial(n) (factorial(k) factorial(n-k))

נקבל כי1 = 0מכיוון שהגדרנו

קל לראות גם כי מתקיימת הזהות הבאה

-בנוסף נקבע שC)nk( = 0 עבור k gt n

צירופים האם ישנה דרך נוספת לחשב את

ביטוי זה מציין את מספר הדרכים לבחורk איברים מתוך n-נסמן אחד מnהאיברים שמתוכם עלינו לבחור ונכנה אותו האיבר המיוחד כשאנחנו בוחריםk איברים מתוך n יש שתי אפשרויות או שאנחנו מכלילים

האיברים שאנחנו בוחרים או שלא מכלילים אותוkאת האיבר המיוחד בין אם אנחנו לא מכלילים את האיבר המיוחד אז עלינו לבחורk איברים מתוך

n-1 איברים )כל איברי הקבוצה שאינם האיבר המיוחד( מס הצירופים הואn-1 איברים מתוך kלבחירת

אם אנחנו כן מכלילים את האיבר המיוחד אז נותר לנו לבחורk-1 איברים איברים )כל איברי הקבוצה שאינם האיבר המיוחד( מס n-1מתוך

הואn-1 איברים מתוך k-1הצירופים לבחירת

מכיוון שאלו שתי האפשרויות היחידות נקבל את הזהות

צירופיםניתן להשתמש בזהות

על מנת לפתח את הפונקציה הרקורסיבית הבאה

unsigned long choose (int n int k)

if (k gt n)

return 0

if (k == 0 || k == n)

return 1

return (choose(n-1k) + choose(n-1k-1))

נסדר אתC)nk(בצורת משולש ברור שכל הביטויים שעל שתי הצלעות

1 הצדדיות של המשולש שווים כולם ל- כמו כן מתקייםC)n1( = n לכל nלפי הזהות

נובע שכל איבר במשולש שווה לסכום

שני האיברים שמעליו

המשולש שהתקבל נקרא משולש פסקל על שם המתמטיקאי

17 הצרפתי מהמאה ה-(Blaise Pascal בלייז פסקל )

משולש פסקל

משולש פסקל פסקל גילה את משולש פסקל כשעסק בחישובים הסתברותיים שונים

והוכיח כי למשולש ישנן תכונות מתמטיות מעניינות רבותנצבע בשחור את המספרים האי-זוגיים שבמשולש פסקל

( קיבלנו את משולש סרפינסקיSierpinskirsquos Triangle) נסתכל על ערכי המשולש כעל ספרות

(0 לבן = 1 בינאריות )שחור = נעיין במספרים הבינאריים שהתקבלו

משולש פסקלאם נסתכל על כל שורה כעל מספר בינארי נקבל את סדרת המספרים

1 3 5 15 17 51 85 255 257 771 1285 3855 4369hellip מספרים אלו מציינים אילו מצולעים משוכללים בעלי מס אי-זוגי של

צלעות ניתן לבנות בעזרת סרגל ומחוגהנחקרה כבר בידי בנייה גיאומטרית בסרגל ובמחוגה

( ושאר Euclid )אוקלידסהמתמטיקאים ביוון העתיקה

מיזוג נתונים לנו שני מערכיםarr1-ו arr2 בסדר ממוינים אשר שניהם

עולה מעוניינים ליצור מערך שלישיarr3 שיכיל את כל האיברים שבשני

המערכים הראשונים כשהם ממוינים בסדר עולהנציג אלגוריתם מיזוג הפותר את הבעיה

נציב שני מצביעים על תחילתו של כל אחד מהמערכיםarr1-ו arr2 נשווה את ערכיהם של האיברים בתאים שעליהם מורים המצביעים

)התאים הראשונים בכל אחד מהמערכים( במקום הראשון במערךarr3 נשמור את האיבר שערכו הוא הנמוך מבין

השניים ונקדם את המצביע שהצביע על איבר זה אל התא הבא במערך

נחזור על הצעד לגבי הערכים החדשים של המצביעיםנמשיך באותו האופן עד שאחד המצביעים יגיע לסוף המערך-אז כמובן לא נקדם אותו יותר ונעתיק לarr3 לפי הסדר את האיברים

הנותרים במערך השני

מיזוגמהי סיבוכיות זמן הריצה של האלגוריתם

הצעד הבסיסי באלגוריתם המיזוג כולל במקרה הגרוע ביותר(WC השוואה בין שני ערכים במערך העתקת איבר למערך )

שלישי ועדכון הערכים של אחד המצביעים מספר הצעדים המבוצע הוא כאורכו של המערך הממוזג ואם

)Θ)n נקבל כי סיבוכיות זמן הריצה היא nנסמן גודל זה ב-

מיזוג

מיון כיצד אפשר להשתמש באלגוריתם המיזוג שתיארנו כדי למיין

n באורך Aמערך אם נחלק אתA לשני תת-מערכים שווים פחות או יותר בגודלם

ונמיין כל אחד מהם נוכל לאחר מכן להשתמש באלגוריתם המיזוג שפיתחנו על מנת למזג שני חלקים אלה למערך ממוין

נשאלת השאלה מהי דרך המיון שנשתמש בה כדי למיין את שני אולי נשתמש למשל באחד האלגוריתמים למיון Aחלקי המערך

שהכרנו )כמו מיון בחירה מיון בועות או מיון הכנסה( ניתן לעשות זאת אולם בכך לא נשיג שיפור ביעילות האלגוריתם

אשר תישאר ריבועית

מיון מיזוגהמפתח לשיפור במקרה הזה הוא שימוש ברקורסיה את המערך המקורי חילקנו לשני תת-מערכים שווים פחות או יותר

בגודלם ואנחנו מעוניינים למיין כל אחד מהםאת שני החצאים האלה של המערך המקורי נוכל למיין רקורסיבית

נחלק כל אחד מחצאים אלה לשני חלקים )שגודל כל אחד מהם רבעמגודלו של המערך המקורי(

נמיין שוב כל חלק בצורה רקורסיביתנמזג את הרבעים הממוינים ונקבל שני תת-מערכים ממוינים

תת-מערך זה כבר ממוין 1בשלב כלשהו נגיע לתת-מערך בגודל ולכן הרקורסיה תיעצר

מיון מיזוגשיטת מיון זו מכונה( Merge Sort)

מיון מיזוגנכתוב את האלגוריתם

(anמיון-מיזוג)a אזי החזר n = 1אם

אחרתb לתוך מערך a האיברים הראשונים של n2הכנס את c לתוך מערך a האיברים האחרונים של n2הכנס את (bn2מיון-מיזוג)(cn2מיון-מיזוג)

והחזר אותוa למערך c ו-bמזג את שני המערכים

איזו נוסחת נסיגה מבטאת את זמן הריצה שלהאלגוריתם

T)n( =

Θ)1(

n

אם 1 =

2T)n2( + Θ)n( n gt 1 אם

מיון מיזוג

0 1 2 7 54 8 3

1 2 7 5

04 8 3

מיון מיזוג

1 2 7 504 8 3

מיון מיזוג

1 2 7 503

4 8

מיון מיזוג

1 2 7 5

034 8

מיון מיזוג

1 2 7 5

038

4

מיון מיזוג

1 2 7 5

03

4 8

מיון מיזוג

1 2 7 5

30

8

4 03

מיון מיזוג

1 2 7 5

3084 03

מיון מיזוג

1 2 7 5

3084

3

0

מיון מיזוג

1 2 7 5

3084

3 0

מיון מיזוג

1 2 7 5

084

3

מיון מיזוג

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

צירופים סימון מקובל נוסף למספר הצירופים שלk איברים מתוך n בנוסף

הוא הסימון הבא)C)nkלסימון לביטוי זה נהוג לקרואn ר Lח Mב k )n-choose-k( או n מעל kקל לראות שמתקיימות הזהויות הבאות

איך נחשב את מספר האפשרויות לבחורk איברים מתוך n יש לנוnאפשרויות לבחור את האיבר הראשון יש לנוn-1אפשרויות לבחור את האיבר השני יש לנוn-2אפשרויות לבחור את האיבר השלישי יש לנוn-k+1-אפשרויות לבחור את האיבר ה kי- קיבלנו בינתיים את המכפלהn)n-1()n-2(hellip)n-k+1(האם זו התשובה

צירופים חשוב לזכור כשאנחנו בוחרים תת-קבוצה בגודלk מתוך קבוצה בגודל

n כלומר קודם לבחור את אין חשיבות לסדר שבקבוצות a ואחכ b אמור להיספר כאותו הצירוף כמו קודם לבחור את bלבחור את

aואחכ לבחור את מה זה אומר על ערכו שלC)nk(

המכפלהn)n-1()n-2(hellip)n-k+1( נותנת לנו ביטוי גדול מדי משום שבביטוי זה יש חשיבות לסדר )כלומר צירופים זהים נספרים יותר מפעם

אחת( הפתרון הוא לחלק ביטוי זה במספר הסידורים האפשריים שלk האיברים

kשנבחרו קרי לחלק ב-לכן התשובה הסופית היא

זה עולה בקנה אחד עם הדוגמא שראינו קודם כשבחרנו צירופים שלk abcdאיברים מתוך

צירופים ניתן לפתח את הביטויC)nk(באופן הבא

קיבלנו ביטוי המתאר אתn-בחר-kבמונחים של פונקציית העצרת

צירופיםניתן להשתמש בזהות

-k-בחרn המחשבת את ערכו של Cעל מנת לפתח פונקציה בשפת

unsigned long choose (int n int k)

return factorial(n) (factorial(k) factorial(n-k))

נקבל כי1 = 0מכיוון שהגדרנו

קל לראות גם כי מתקיימת הזהות הבאה

-בנוסף נקבע שC)nk( = 0 עבור k gt n

צירופים האם ישנה דרך נוספת לחשב את

ביטוי זה מציין את מספר הדרכים לבחורk איברים מתוך n-נסמן אחד מnהאיברים שמתוכם עלינו לבחור ונכנה אותו האיבר המיוחד כשאנחנו בוחריםk איברים מתוך n יש שתי אפשרויות או שאנחנו מכלילים

האיברים שאנחנו בוחרים או שלא מכלילים אותוkאת האיבר המיוחד בין אם אנחנו לא מכלילים את האיבר המיוחד אז עלינו לבחורk איברים מתוך

n-1 איברים )כל איברי הקבוצה שאינם האיבר המיוחד( מס הצירופים הואn-1 איברים מתוך kלבחירת

אם אנחנו כן מכלילים את האיבר המיוחד אז נותר לנו לבחורk-1 איברים איברים )כל איברי הקבוצה שאינם האיבר המיוחד( מס n-1מתוך

הואn-1 איברים מתוך k-1הצירופים לבחירת

מכיוון שאלו שתי האפשרויות היחידות נקבל את הזהות

צירופיםניתן להשתמש בזהות

על מנת לפתח את הפונקציה הרקורסיבית הבאה

unsigned long choose (int n int k)

if (k gt n)

return 0

if (k == 0 || k == n)

return 1

return (choose(n-1k) + choose(n-1k-1))

נסדר אתC)nk(בצורת משולש ברור שכל הביטויים שעל שתי הצלעות

1 הצדדיות של המשולש שווים כולם ל- כמו כן מתקייםC)n1( = n לכל nלפי הזהות

נובע שכל איבר במשולש שווה לסכום

שני האיברים שמעליו

המשולש שהתקבל נקרא משולש פסקל על שם המתמטיקאי

17 הצרפתי מהמאה ה-(Blaise Pascal בלייז פסקל )

משולש פסקל

משולש פסקל פסקל גילה את משולש פסקל כשעסק בחישובים הסתברותיים שונים

והוכיח כי למשולש ישנן תכונות מתמטיות מעניינות רבותנצבע בשחור את המספרים האי-זוגיים שבמשולש פסקל

( קיבלנו את משולש סרפינסקיSierpinskirsquos Triangle) נסתכל על ערכי המשולש כעל ספרות

(0 לבן = 1 בינאריות )שחור = נעיין במספרים הבינאריים שהתקבלו

משולש פסקלאם נסתכל על כל שורה כעל מספר בינארי נקבל את סדרת המספרים

1 3 5 15 17 51 85 255 257 771 1285 3855 4369hellip מספרים אלו מציינים אילו מצולעים משוכללים בעלי מס אי-זוגי של

צלעות ניתן לבנות בעזרת סרגל ומחוגהנחקרה כבר בידי בנייה גיאומטרית בסרגל ובמחוגה

( ושאר Euclid )אוקלידסהמתמטיקאים ביוון העתיקה

מיזוג נתונים לנו שני מערכיםarr1-ו arr2 בסדר ממוינים אשר שניהם

עולה מעוניינים ליצור מערך שלישיarr3 שיכיל את כל האיברים שבשני

המערכים הראשונים כשהם ממוינים בסדר עולהנציג אלגוריתם מיזוג הפותר את הבעיה

נציב שני מצביעים על תחילתו של כל אחד מהמערכיםarr1-ו arr2 נשווה את ערכיהם של האיברים בתאים שעליהם מורים המצביעים

)התאים הראשונים בכל אחד מהמערכים( במקום הראשון במערךarr3 נשמור את האיבר שערכו הוא הנמוך מבין

השניים ונקדם את המצביע שהצביע על איבר זה אל התא הבא במערך

נחזור על הצעד לגבי הערכים החדשים של המצביעיםנמשיך באותו האופן עד שאחד המצביעים יגיע לסוף המערך-אז כמובן לא נקדם אותו יותר ונעתיק לarr3 לפי הסדר את האיברים

הנותרים במערך השני

מיזוגמהי סיבוכיות זמן הריצה של האלגוריתם

הצעד הבסיסי באלגוריתם המיזוג כולל במקרה הגרוע ביותר(WC השוואה בין שני ערכים במערך העתקת איבר למערך )

שלישי ועדכון הערכים של אחד המצביעים מספר הצעדים המבוצע הוא כאורכו של המערך הממוזג ואם

)Θ)n נקבל כי סיבוכיות זמן הריצה היא nנסמן גודל זה ב-

מיזוג

מיון כיצד אפשר להשתמש באלגוריתם המיזוג שתיארנו כדי למיין

n באורך Aמערך אם נחלק אתA לשני תת-מערכים שווים פחות או יותר בגודלם

ונמיין כל אחד מהם נוכל לאחר מכן להשתמש באלגוריתם המיזוג שפיתחנו על מנת למזג שני חלקים אלה למערך ממוין

נשאלת השאלה מהי דרך המיון שנשתמש בה כדי למיין את שני אולי נשתמש למשל באחד האלגוריתמים למיון Aחלקי המערך

שהכרנו )כמו מיון בחירה מיון בועות או מיון הכנסה( ניתן לעשות זאת אולם בכך לא נשיג שיפור ביעילות האלגוריתם

אשר תישאר ריבועית

מיון מיזוגהמפתח לשיפור במקרה הזה הוא שימוש ברקורסיה את המערך המקורי חילקנו לשני תת-מערכים שווים פחות או יותר

בגודלם ואנחנו מעוניינים למיין כל אחד מהםאת שני החצאים האלה של המערך המקורי נוכל למיין רקורסיבית

נחלק כל אחד מחצאים אלה לשני חלקים )שגודל כל אחד מהם רבעמגודלו של המערך המקורי(

נמיין שוב כל חלק בצורה רקורסיביתנמזג את הרבעים הממוינים ונקבל שני תת-מערכים ממוינים

תת-מערך זה כבר ממוין 1בשלב כלשהו נגיע לתת-מערך בגודל ולכן הרקורסיה תיעצר

מיון מיזוגשיטת מיון זו מכונה( Merge Sort)

מיון מיזוגנכתוב את האלגוריתם

(anמיון-מיזוג)a אזי החזר n = 1אם

אחרתb לתוך מערך a האיברים הראשונים של n2הכנס את c לתוך מערך a האיברים האחרונים של n2הכנס את (bn2מיון-מיזוג)(cn2מיון-מיזוג)

והחזר אותוa למערך c ו-bמזג את שני המערכים

איזו נוסחת נסיגה מבטאת את זמן הריצה שלהאלגוריתם

T)n( =

Θ)1(

n

אם 1 =

2T)n2( + Θ)n( n gt 1 אם

מיון מיזוג

0 1 2 7 54 8 3

1 2 7 5

04 8 3

מיון מיזוג

1 2 7 504 8 3

מיון מיזוג

1 2 7 503

4 8

מיון מיזוג

1 2 7 5

034 8

מיון מיזוג

1 2 7 5

038

4

מיון מיזוג

1 2 7 5

03

4 8

מיון מיזוג

1 2 7 5

30

8

4 03

מיון מיזוג

1 2 7 5

3084 03

מיון מיזוג

1 2 7 5

3084

3

0

מיון מיזוג

1 2 7 5

3084

3 0

מיון מיזוג

1 2 7 5

084

3

מיון מיזוג

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

צירופים חשוב לזכור כשאנחנו בוחרים תת-קבוצה בגודלk מתוך קבוצה בגודל

n כלומר קודם לבחור את אין חשיבות לסדר שבקבוצות a ואחכ b אמור להיספר כאותו הצירוף כמו קודם לבחור את bלבחור את

aואחכ לבחור את מה זה אומר על ערכו שלC)nk(

המכפלהn)n-1()n-2(hellip)n-k+1( נותנת לנו ביטוי גדול מדי משום שבביטוי זה יש חשיבות לסדר )כלומר צירופים זהים נספרים יותר מפעם

אחת( הפתרון הוא לחלק ביטוי זה במספר הסידורים האפשריים שלk האיברים

kשנבחרו קרי לחלק ב-לכן התשובה הסופית היא

זה עולה בקנה אחד עם הדוגמא שראינו קודם כשבחרנו צירופים שלk abcdאיברים מתוך

צירופים ניתן לפתח את הביטויC)nk(באופן הבא

קיבלנו ביטוי המתאר אתn-בחר-kבמונחים של פונקציית העצרת

צירופיםניתן להשתמש בזהות

-k-בחרn המחשבת את ערכו של Cעל מנת לפתח פונקציה בשפת

unsigned long choose (int n int k)

return factorial(n) (factorial(k) factorial(n-k))

נקבל כי1 = 0מכיוון שהגדרנו

קל לראות גם כי מתקיימת הזהות הבאה

-בנוסף נקבע שC)nk( = 0 עבור k gt n

צירופים האם ישנה דרך נוספת לחשב את

ביטוי זה מציין את מספר הדרכים לבחורk איברים מתוך n-נסמן אחד מnהאיברים שמתוכם עלינו לבחור ונכנה אותו האיבר המיוחד כשאנחנו בוחריםk איברים מתוך n יש שתי אפשרויות או שאנחנו מכלילים

האיברים שאנחנו בוחרים או שלא מכלילים אותוkאת האיבר המיוחד בין אם אנחנו לא מכלילים את האיבר המיוחד אז עלינו לבחורk איברים מתוך

n-1 איברים )כל איברי הקבוצה שאינם האיבר המיוחד( מס הצירופים הואn-1 איברים מתוך kלבחירת

אם אנחנו כן מכלילים את האיבר המיוחד אז נותר לנו לבחורk-1 איברים איברים )כל איברי הקבוצה שאינם האיבר המיוחד( מס n-1מתוך

הואn-1 איברים מתוך k-1הצירופים לבחירת

מכיוון שאלו שתי האפשרויות היחידות נקבל את הזהות

צירופיםניתן להשתמש בזהות

על מנת לפתח את הפונקציה הרקורסיבית הבאה

unsigned long choose (int n int k)

if (k gt n)

return 0

if (k == 0 || k == n)

return 1

return (choose(n-1k) + choose(n-1k-1))

נסדר אתC)nk(בצורת משולש ברור שכל הביטויים שעל שתי הצלעות

1 הצדדיות של המשולש שווים כולם ל- כמו כן מתקייםC)n1( = n לכל nלפי הזהות

נובע שכל איבר במשולש שווה לסכום

שני האיברים שמעליו

המשולש שהתקבל נקרא משולש פסקל על שם המתמטיקאי

17 הצרפתי מהמאה ה-(Blaise Pascal בלייז פסקל )

משולש פסקל

משולש פסקל פסקל גילה את משולש פסקל כשעסק בחישובים הסתברותיים שונים

והוכיח כי למשולש ישנן תכונות מתמטיות מעניינות רבותנצבע בשחור את המספרים האי-זוגיים שבמשולש פסקל

( קיבלנו את משולש סרפינסקיSierpinskirsquos Triangle) נסתכל על ערכי המשולש כעל ספרות

(0 לבן = 1 בינאריות )שחור = נעיין במספרים הבינאריים שהתקבלו

משולש פסקלאם נסתכל על כל שורה כעל מספר בינארי נקבל את סדרת המספרים

1 3 5 15 17 51 85 255 257 771 1285 3855 4369hellip מספרים אלו מציינים אילו מצולעים משוכללים בעלי מס אי-זוגי של

צלעות ניתן לבנות בעזרת סרגל ומחוגהנחקרה כבר בידי בנייה גיאומטרית בסרגל ובמחוגה

( ושאר Euclid )אוקלידסהמתמטיקאים ביוון העתיקה

מיזוג נתונים לנו שני מערכיםarr1-ו arr2 בסדר ממוינים אשר שניהם

עולה מעוניינים ליצור מערך שלישיarr3 שיכיל את כל האיברים שבשני

המערכים הראשונים כשהם ממוינים בסדר עולהנציג אלגוריתם מיזוג הפותר את הבעיה

נציב שני מצביעים על תחילתו של כל אחד מהמערכיםarr1-ו arr2 נשווה את ערכיהם של האיברים בתאים שעליהם מורים המצביעים

)התאים הראשונים בכל אחד מהמערכים( במקום הראשון במערךarr3 נשמור את האיבר שערכו הוא הנמוך מבין

השניים ונקדם את המצביע שהצביע על איבר זה אל התא הבא במערך

נחזור על הצעד לגבי הערכים החדשים של המצביעיםנמשיך באותו האופן עד שאחד המצביעים יגיע לסוף המערך-אז כמובן לא נקדם אותו יותר ונעתיק לarr3 לפי הסדר את האיברים

הנותרים במערך השני

מיזוגמהי סיבוכיות זמן הריצה של האלגוריתם

הצעד הבסיסי באלגוריתם המיזוג כולל במקרה הגרוע ביותר(WC השוואה בין שני ערכים במערך העתקת איבר למערך )

שלישי ועדכון הערכים של אחד המצביעים מספר הצעדים המבוצע הוא כאורכו של המערך הממוזג ואם

)Θ)n נקבל כי סיבוכיות זמן הריצה היא nנסמן גודל זה ב-

מיזוג

מיון כיצד אפשר להשתמש באלגוריתם המיזוג שתיארנו כדי למיין

n באורך Aמערך אם נחלק אתA לשני תת-מערכים שווים פחות או יותר בגודלם

ונמיין כל אחד מהם נוכל לאחר מכן להשתמש באלגוריתם המיזוג שפיתחנו על מנת למזג שני חלקים אלה למערך ממוין

נשאלת השאלה מהי דרך המיון שנשתמש בה כדי למיין את שני אולי נשתמש למשל באחד האלגוריתמים למיון Aחלקי המערך

שהכרנו )כמו מיון בחירה מיון בועות או מיון הכנסה( ניתן לעשות זאת אולם בכך לא נשיג שיפור ביעילות האלגוריתם

אשר תישאר ריבועית

מיון מיזוגהמפתח לשיפור במקרה הזה הוא שימוש ברקורסיה את המערך המקורי חילקנו לשני תת-מערכים שווים פחות או יותר

בגודלם ואנחנו מעוניינים למיין כל אחד מהםאת שני החצאים האלה של המערך המקורי נוכל למיין רקורסיבית

נחלק כל אחד מחצאים אלה לשני חלקים )שגודל כל אחד מהם רבעמגודלו של המערך המקורי(

נמיין שוב כל חלק בצורה רקורסיביתנמזג את הרבעים הממוינים ונקבל שני תת-מערכים ממוינים

תת-מערך זה כבר ממוין 1בשלב כלשהו נגיע לתת-מערך בגודל ולכן הרקורסיה תיעצר

מיון מיזוגשיטת מיון זו מכונה( Merge Sort)

מיון מיזוגנכתוב את האלגוריתם

(anמיון-מיזוג)a אזי החזר n = 1אם

אחרתb לתוך מערך a האיברים הראשונים של n2הכנס את c לתוך מערך a האיברים האחרונים של n2הכנס את (bn2מיון-מיזוג)(cn2מיון-מיזוג)

והחזר אותוa למערך c ו-bמזג את שני המערכים

איזו נוסחת נסיגה מבטאת את זמן הריצה שלהאלגוריתם

T)n( =

Θ)1(

n

אם 1 =

2T)n2( + Θ)n( n gt 1 אם

מיון מיזוג

0 1 2 7 54 8 3

1 2 7 5

04 8 3

מיון מיזוג

1 2 7 504 8 3

מיון מיזוג

1 2 7 503

4 8

מיון מיזוג

1 2 7 5

034 8

מיון מיזוג

1 2 7 5

038

4

מיון מיזוג

1 2 7 5

03

4 8

מיון מיזוג

1 2 7 5

30

8

4 03

מיון מיזוג

1 2 7 5

3084 03

מיון מיזוג

1 2 7 5

3084

3

0

מיון מיזוג

1 2 7 5

3084

3 0

מיון מיזוג

1 2 7 5

084

3

מיון מיזוג

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

צירופים ניתן לפתח את הביטויC)nk(באופן הבא

קיבלנו ביטוי המתאר אתn-בחר-kבמונחים של פונקציית העצרת

צירופיםניתן להשתמש בזהות

-k-בחרn המחשבת את ערכו של Cעל מנת לפתח פונקציה בשפת

unsigned long choose (int n int k)

return factorial(n) (factorial(k) factorial(n-k))

נקבל כי1 = 0מכיוון שהגדרנו

קל לראות גם כי מתקיימת הזהות הבאה

-בנוסף נקבע שC)nk( = 0 עבור k gt n

צירופים האם ישנה דרך נוספת לחשב את

ביטוי זה מציין את מספר הדרכים לבחורk איברים מתוך n-נסמן אחד מnהאיברים שמתוכם עלינו לבחור ונכנה אותו האיבר המיוחד כשאנחנו בוחריםk איברים מתוך n יש שתי אפשרויות או שאנחנו מכלילים

האיברים שאנחנו בוחרים או שלא מכלילים אותוkאת האיבר המיוחד בין אם אנחנו לא מכלילים את האיבר המיוחד אז עלינו לבחורk איברים מתוך

n-1 איברים )כל איברי הקבוצה שאינם האיבר המיוחד( מס הצירופים הואn-1 איברים מתוך kלבחירת

אם אנחנו כן מכלילים את האיבר המיוחד אז נותר לנו לבחורk-1 איברים איברים )כל איברי הקבוצה שאינם האיבר המיוחד( מס n-1מתוך

הואn-1 איברים מתוך k-1הצירופים לבחירת

מכיוון שאלו שתי האפשרויות היחידות נקבל את הזהות

צירופיםניתן להשתמש בזהות

על מנת לפתח את הפונקציה הרקורסיבית הבאה

unsigned long choose (int n int k)

if (k gt n)

return 0

if (k == 0 || k == n)

return 1

return (choose(n-1k) + choose(n-1k-1))

נסדר אתC)nk(בצורת משולש ברור שכל הביטויים שעל שתי הצלעות

1 הצדדיות של המשולש שווים כולם ל- כמו כן מתקייםC)n1( = n לכל nלפי הזהות

נובע שכל איבר במשולש שווה לסכום

שני האיברים שמעליו

המשולש שהתקבל נקרא משולש פסקל על שם המתמטיקאי

17 הצרפתי מהמאה ה-(Blaise Pascal בלייז פסקל )

משולש פסקל

משולש פסקל פסקל גילה את משולש פסקל כשעסק בחישובים הסתברותיים שונים

והוכיח כי למשולש ישנן תכונות מתמטיות מעניינות רבותנצבע בשחור את המספרים האי-זוגיים שבמשולש פסקל

( קיבלנו את משולש סרפינסקיSierpinskirsquos Triangle) נסתכל על ערכי המשולש כעל ספרות

(0 לבן = 1 בינאריות )שחור = נעיין במספרים הבינאריים שהתקבלו

משולש פסקלאם נסתכל על כל שורה כעל מספר בינארי נקבל את סדרת המספרים

1 3 5 15 17 51 85 255 257 771 1285 3855 4369hellip מספרים אלו מציינים אילו מצולעים משוכללים בעלי מס אי-זוגי של

צלעות ניתן לבנות בעזרת סרגל ומחוגהנחקרה כבר בידי בנייה גיאומטרית בסרגל ובמחוגה

( ושאר Euclid )אוקלידסהמתמטיקאים ביוון העתיקה

מיזוג נתונים לנו שני מערכיםarr1-ו arr2 בסדר ממוינים אשר שניהם

עולה מעוניינים ליצור מערך שלישיarr3 שיכיל את כל האיברים שבשני

המערכים הראשונים כשהם ממוינים בסדר עולהנציג אלגוריתם מיזוג הפותר את הבעיה

נציב שני מצביעים על תחילתו של כל אחד מהמערכיםarr1-ו arr2 נשווה את ערכיהם של האיברים בתאים שעליהם מורים המצביעים

)התאים הראשונים בכל אחד מהמערכים( במקום הראשון במערךarr3 נשמור את האיבר שערכו הוא הנמוך מבין

השניים ונקדם את המצביע שהצביע על איבר זה אל התא הבא במערך

נחזור על הצעד לגבי הערכים החדשים של המצביעיםנמשיך באותו האופן עד שאחד המצביעים יגיע לסוף המערך-אז כמובן לא נקדם אותו יותר ונעתיק לarr3 לפי הסדר את האיברים

הנותרים במערך השני

מיזוגמהי סיבוכיות זמן הריצה של האלגוריתם

הצעד הבסיסי באלגוריתם המיזוג כולל במקרה הגרוע ביותר(WC השוואה בין שני ערכים במערך העתקת איבר למערך )

שלישי ועדכון הערכים של אחד המצביעים מספר הצעדים המבוצע הוא כאורכו של המערך הממוזג ואם

)Θ)n נקבל כי סיבוכיות זמן הריצה היא nנסמן גודל זה ב-

מיזוג

מיון כיצד אפשר להשתמש באלגוריתם המיזוג שתיארנו כדי למיין

n באורך Aמערך אם נחלק אתA לשני תת-מערכים שווים פחות או יותר בגודלם

ונמיין כל אחד מהם נוכל לאחר מכן להשתמש באלגוריתם המיזוג שפיתחנו על מנת למזג שני חלקים אלה למערך ממוין

נשאלת השאלה מהי דרך המיון שנשתמש בה כדי למיין את שני אולי נשתמש למשל באחד האלגוריתמים למיון Aחלקי המערך

שהכרנו )כמו מיון בחירה מיון בועות או מיון הכנסה( ניתן לעשות זאת אולם בכך לא נשיג שיפור ביעילות האלגוריתם

אשר תישאר ריבועית

מיון מיזוגהמפתח לשיפור במקרה הזה הוא שימוש ברקורסיה את המערך המקורי חילקנו לשני תת-מערכים שווים פחות או יותר

בגודלם ואנחנו מעוניינים למיין כל אחד מהםאת שני החצאים האלה של המערך המקורי נוכל למיין רקורסיבית

נחלק כל אחד מחצאים אלה לשני חלקים )שגודל כל אחד מהם רבעמגודלו של המערך המקורי(

נמיין שוב כל חלק בצורה רקורסיביתנמזג את הרבעים הממוינים ונקבל שני תת-מערכים ממוינים

תת-מערך זה כבר ממוין 1בשלב כלשהו נגיע לתת-מערך בגודל ולכן הרקורסיה תיעצר

מיון מיזוגשיטת מיון זו מכונה( Merge Sort)

מיון מיזוגנכתוב את האלגוריתם

(anמיון-מיזוג)a אזי החזר n = 1אם

אחרתb לתוך מערך a האיברים הראשונים של n2הכנס את c לתוך מערך a האיברים האחרונים של n2הכנס את (bn2מיון-מיזוג)(cn2מיון-מיזוג)

והחזר אותוa למערך c ו-bמזג את שני המערכים

איזו נוסחת נסיגה מבטאת את זמן הריצה שלהאלגוריתם

T)n( =

Θ)1(

n

אם 1 =

2T)n2( + Θ)n( n gt 1 אם

מיון מיזוג

0 1 2 7 54 8 3

1 2 7 5

04 8 3

מיון מיזוג

1 2 7 504 8 3

מיון מיזוג

1 2 7 503

4 8

מיון מיזוג

1 2 7 5

034 8

מיון מיזוג

1 2 7 5

038

4

מיון מיזוג

1 2 7 5

03

4 8

מיון מיזוג

1 2 7 5

30

8

4 03

מיון מיזוג

1 2 7 5

3084 03

מיון מיזוג

1 2 7 5

3084

3

0

מיון מיזוג

1 2 7 5

3084

3 0

מיון מיזוג

1 2 7 5

084

3

מיון מיזוג

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

צירופיםניתן להשתמש בזהות

-k-בחרn המחשבת את ערכו של Cעל מנת לפתח פונקציה בשפת

unsigned long choose (int n int k)

return factorial(n) (factorial(k) factorial(n-k))

נקבל כי1 = 0מכיוון שהגדרנו

קל לראות גם כי מתקיימת הזהות הבאה

-בנוסף נקבע שC)nk( = 0 עבור k gt n

צירופים האם ישנה דרך נוספת לחשב את

ביטוי זה מציין את מספר הדרכים לבחורk איברים מתוך n-נסמן אחד מnהאיברים שמתוכם עלינו לבחור ונכנה אותו האיבר המיוחד כשאנחנו בוחריםk איברים מתוך n יש שתי אפשרויות או שאנחנו מכלילים

האיברים שאנחנו בוחרים או שלא מכלילים אותוkאת האיבר המיוחד בין אם אנחנו לא מכלילים את האיבר המיוחד אז עלינו לבחורk איברים מתוך

n-1 איברים )כל איברי הקבוצה שאינם האיבר המיוחד( מס הצירופים הואn-1 איברים מתוך kלבחירת

אם אנחנו כן מכלילים את האיבר המיוחד אז נותר לנו לבחורk-1 איברים איברים )כל איברי הקבוצה שאינם האיבר המיוחד( מס n-1מתוך

הואn-1 איברים מתוך k-1הצירופים לבחירת

מכיוון שאלו שתי האפשרויות היחידות נקבל את הזהות

צירופיםניתן להשתמש בזהות

על מנת לפתח את הפונקציה הרקורסיבית הבאה

unsigned long choose (int n int k)

if (k gt n)

return 0

if (k == 0 || k == n)

return 1

return (choose(n-1k) + choose(n-1k-1))

נסדר אתC)nk(בצורת משולש ברור שכל הביטויים שעל שתי הצלעות

1 הצדדיות של המשולש שווים כולם ל- כמו כן מתקייםC)n1( = n לכל nלפי הזהות

נובע שכל איבר במשולש שווה לסכום

שני האיברים שמעליו

המשולש שהתקבל נקרא משולש פסקל על שם המתמטיקאי

17 הצרפתי מהמאה ה-(Blaise Pascal בלייז פסקל )

משולש פסקל

משולש פסקל פסקל גילה את משולש פסקל כשעסק בחישובים הסתברותיים שונים

והוכיח כי למשולש ישנן תכונות מתמטיות מעניינות רבותנצבע בשחור את המספרים האי-זוגיים שבמשולש פסקל

( קיבלנו את משולש סרפינסקיSierpinskirsquos Triangle) נסתכל על ערכי המשולש כעל ספרות

(0 לבן = 1 בינאריות )שחור = נעיין במספרים הבינאריים שהתקבלו

משולש פסקלאם נסתכל על כל שורה כעל מספר בינארי נקבל את סדרת המספרים

1 3 5 15 17 51 85 255 257 771 1285 3855 4369hellip מספרים אלו מציינים אילו מצולעים משוכללים בעלי מס אי-זוגי של

צלעות ניתן לבנות בעזרת סרגל ומחוגהנחקרה כבר בידי בנייה גיאומטרית בסרגל ובמחוגה

( ושאר Euclid )אוקלידסהמתמטיקאים ביוון העתיקה

מיזוג נתונים לנו שני מערכיםarr1-ו arr2 בסדר ממוינים אשר שניהם

עולה מעוניינים ליצור מערך שלישיarr3 שיכיל את כל האיברים שבשני

המערכים הראשונים כשהם ממוינים בסדר עולהנציג אלגוריתם מיזוג הפותר את הבעיה

נציב שני מצביעים על תחילתו של כל אחד מהמערכיםarr1-ו arr2 נשווה את ערכיהם של האיברים בתאים שעליהם מורים המצביעים

)התאים הראשונים בכל אחד מהמערכים( במקום הראשון במערךarr3 נשמור את האיבר שערכו הוא הנמוך מבין

השניים ונקדם את המצביע שהצביע על איבר זה אל התא הבא במערך

נחזור על הצעד לגבי הערכים החדשים של המצביעיםנמשיך באותו האופן עד שאחד המצביעים יגיע לסוף המערך-אז כמובן לא נקדם אותו יותר ונעתיק לarr3 לפי הסדר את האיברים

הנותרים במערך השני

מיזוגמהי סיבוכיות זמן הריצה של האלגוריתם

הצעד הבסיסי באלגוריתם המיזוג כולל במקרה הגרוע ביותר(WC השוואה בין שני ערכים במערך העתקת איבר למערך )

שלישי ועדכון הערכים של אחד המצביעים מספר הצעדים המבוצע הוא כאורכו של המערך הממוזג ואם

)Θ)n נקבל כי סיבוכיות זמן הריצה היא nנסמן גודל זה ב-

מיזוג

מיון כיצד אפשר להשתמש באלגוריתם המיזוג שתיארנו כדי למיין

n באורך Aמערך אם נחלק אתA לשני תת-מערכים שווים פחות או יותר בגודלם

ונמיין כל אחד מהם נוכל לאחר מכן להשתמש באלגוריתם המיזוג שפיתחנו על מנת למזג שני חלקים אלה למערך ממוין

נשאלת השאלה מהי דרך המיון שנשתמש בה כדי למיין את שני אולי נשתמש למשל באחד האלגוריתמים למיון Aחלקי המערך

שהכרנו )כמו מיון בחירה מיון בועות או מיון הכנסה( ניתן לעשות זאת אולם בכך לא נשיג שיפור ביעילות האלגוריתם

אשר תישאר ריבועית

מיון מיזוגהמפתח לשיפור במקרה הזה הוא שימוש ברקורסיה את המערך המקורי חילקנו לשני תת-מערכים שווים פחות או יותר

בגודלם ואנחנו מעוניינים למיין כל אחד מהםאת שני החצאים האלה של המערך המקורי נוכל למיין רקורסיבית

נחלק כל אחד מחצאים אלה לשני חלקים )שגודל כל אחד מהם רבעמגודלו של המערך המקורי(

נמיין שוב כל חלק בצורה רקורסיביתנמזג את הרבעים הממוינים ונקבל שני תת-מערכים ממוינים

תת-מערך זה כבר ממוין 1בשלב כלשהו נגיע לתת-מערך בגודל ולכן הרקורסיה תיעצר

מיון מיזוגשיטת מיון זו מכונה( Merge Sort)

מיון מיזוגנכתוב את האלגוריתם

(anמיון-מיזוג)a אזי החזר n = 1אם

אחרתb לתוך מערך a האיברים הראשונים של n2הכנס את c לתוך מערך a האיברים האחרונים של n2הכנס את (bn2מיון-מיזוג)(cn2מיון-מיזוג)

והחזר אותוa למערך c ו-bמזג את שני המערכים

איזו נוסחת נסיגה מבטאת את זמן הריצה שלהאלגוריתם

T)n( =

Θ)1(

n

אם 1 =

2T)n2( + Θ)n( n gt 1 אם

מיון מיזוג

0 1 2 7 54 8 3

1 2 7 5

04 8 3

מיון מיזוג

1 2 7 504 8 3

מיון מיזוג

1 2 7 503

4 8

מיון מיזוג

1 2 7 5

034 8

מיון מיזוג

1 2 7 5

038

4

מיון מיזוג

1 2 7 5

03

4 8

מיון מיזוג

1 2 7 5

30

8

4 03

מיון מיזוג

1 2 7 5

3084 03

מיון מיזוג

1 2 7 5

3084

3

0

מיון מיזוג

1 2 7 5

3084

3 0

מיון מיזוג

1 2 7 5

084

3

מיון מיזוג

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

צירופים האם ישנה דרך נוספת לחשב את

ביטוי זה מציין את מספר הדרכים לבחורk איברים מתוך n-נסמן אחד מnהאיברים שמתוכם עלינו לבחור ונכנה אותו האיבר המיוחד כשאנחנו בוחריםk איברים מתוך n יש שתי אפשרויות או שאנחנו מכלילים

האיברים שאנחנו בוחרים או שלא מכלילים אותוkאת האיבר המיוחד בין אם אנחנו לא מכלילים את האיבר המיוחד אז עלינו לבחורk איברים מתוך

n-1 איברים )כל איברי הקבוצה שאינם האיבר המיוחד( מס הצירופים הואn-1 איברים מתוך kלבחירת

אם אנחנו כן מכלילים את האיבר המיוחד אז נותר לנו לבחורk-1 איברים איברים )כל איברי הקבוצה שאינם האיבר המיוחד( מס n-1מתוך

הואn-1 איברים מתוך k-1הצירופים לבחירת

מכיוון שאלו שתי האפשרויות היחידות נקבל את הזהות

צירופיםניתן להשתמש בזהות

על מנת לפתח את הפונקציה הרקורסיבית הבאה

unsigned long choose (int n int k)

if (k gt n)

return 0

if (k == 0 || k == n)

return 1

return (choose(n-1k) + choose(n-1k-1))

נסדר אתC)nk(בצורת משולש ברור שכל הביטויים שעל שתי הצלעות

1 הצדדיות של המשולש שווים כולם ל- כמו כן מתקייםC)n1( = n לכל nלפי הזהות

נובע שכל איבר במשולש שווה לסכום

שני האיברים שמעליו

המשולש שהתקבל נקרא משולש פסקל על שם המתמטיקאי

17 הצרפתי מהמאה ה-(Blaise Pascal בלייז פסקל )

משולש פסקל

משולש פסקל פסקל גילה את משולש פסקל כשעסק בחישובים הסתברותיים שונים

והוכיח כי למשולש ישנן תכונות מתמטיות מעניינות רבותנצבע בשחור את המספרים האי-זוגיים שבמשולש פסקל

( קיבלנו את משולש סרפינסקיSierpinskirsquos Triangle) נסתכל על ערכי המשולש כעל ספרות

(0 לבן = 1 בינאריות )שחור = נעיין במספרים הבינאריים שהתקבלו

משולש פסקלאם נסתכל על כל שורה כעל מספר בינארי נקבל את סדרת המספרים

1 3 5 15 17 51 85 255 257 771 1285 3855 4369hellip מספרים אלו מציינים אילו מצולעים משוכללים בעלי מס אי-זוגי של

צלעות ניתן לבנות בעזרת סרגל ומחוגהנחקרה כבר בידי בנייה גיאומטרית בסרגל ובמחוגה

( ושאר Euclid )אוקלידסהמתמטיקאים ביוון העתיקה

מיזוג נתונים לנו שני מערכיםarr1-ו arr2 בסדר ממוינים אשר שניהם

עולה מעוניינים ליצור מערך שלישיarr3 שיכיל את כל האיברים שבשני

המערכים הראשונים כשהם ממוינים בסדר עולהנציג אלגוריתם מיזוג הפותר את הבעיה

נציב שני מצביעים על תחילתו של כל אחד מהמערכיםarr1-ו arr2 נשווה את ערכיהם של האיברים בתאים שעליהם מורים המצביעים

)התאים הראשונים בכל אחד מהמערכים( במקום הראשון במערךarr3 נשמור את האיבר שערכו הוא הנמוך מבין

השניים ונקדם את המצביע שהצביע על איבר זה אל התא הבא במערך

נחזור על הצעד לגבי הערכים החדשים של המצביעיםנמשיך באותו האופן עד שאחד המצביעים יגיע לסוף המערך-אז כמובן לא נקדם אותו יותר ונעתיק לarr3 לפי הסדר את האיברים

הנותרים במערך השני

מיזוגמהי סיבוכיות זמן הריצה של האלגוריתם

הצעד הבסיסי באלגוריתם המיזוג כולל במקרה הגרוע ביותר(WC השוואה בין שני ערכים במערך העתקת איבר למערך )

שלישי ועדכון הערכים של אחד המצביעים מספר הצעדים המבוצע הוא כאורכו של המערך הממוזג ואם

)Θ)n נקבל כי סיבוכיות זמן הריצה היא nנסמן גודל זה ב-

מיזוג

מיון כיצד אפשר להשתמש באלגוריתם המיזוג שתיארנו כדי למיין

n באורך Aמערך אם נחלק אתA לשני תת-מערכים שווים פחות או יותר בגודלם

ונמיין כל אחד מהם נוכל לאחר מכן להשתמש באלגוריתם המיזוג שפיתחנו על מנת למזג שני חלקים אלה למערך ממוין

נשאלת השאלה מהי דרך המיון שנשתמש בה כדי למיין את שני אולי נשתמש למשל באחד האלגוריתמים למיון Aחלקי המערך

שהכרנו )כמו מיון בחירה מיון בועות או מיון הכנסה( ניתן לעשות זאת אולם בכך לא נשיג שיפור ביעילות האלגוריתם

אשר תישאר ריבועית

מיון מיזוגהמפתח לשיפור במקרה הזה הוא שימוש ברקורסיה את המערך המקורי חילקנו לשני תת-מערכים שווים פחות או יותר

בגודלם ואנחנו מעוניינים למיין כל אחד מהםאת שני החצאים האלה של המערך המקורי נוכל למיין רקורסיבית

נחלק כל אחד מחצאים אלה לשני חלקים )שגודל כל אחד מהם רבעמגודלו של המערך המקורי(

נמיין שוב כל חלק בצורה רקורסיביתנמזג את הרבעים הממוינים ונקבל שני תת-מערכים ממוינים

תת-מערך זה כבר ממוין 1בשלב כלשהו נגיע לתת-מערך בגודל ולכן הרקורסיה תיעצר

מיון מיזוגשיטת מיון זו מכונה( Merge Sort)

מיון מיזוגנכתוב את האלגוריתם

(anמיון-מיזוג)a אזי החזר n = 1אם

אחרתb לתוך מערך a האיברים הראשונים של n2הכנס את c לתוך מערך a האיברים האחרונים של n2הכנס את (bn2מיון-מיזוג)(cn2מיון-מיזוג)

והחזר אותוa למערך c ו-bמזג את שני המערכים

איזו נוסחת נסיגה מבטאת את זמן הריצה שלהאלגוריתם

T)n( =

Θ)1(

n

אם 1 =

2T)n2( + Θ)n( n gt 1 אם

מיון מיזוג

0 1 2 7 54 8 3

1 2 7 5

04 8 3

מיון מיזוג

1 2 7 504 8 3

מיון מיזוג

1 2 7 503

4 8

מיון מיזוג

1 2 7 5

034 8

מיון מיזוג

1 2 7 5

038

4

מיון מיזוג

1 2 7 5

03

4 8

מיון מיזוג

1 2 7 5

30

8

4 03

מיון מיזוג

1 2 7 5

3084 03

מיון מיזוג

1 2 7 5

3084

3

0

מיון מיזוג

1 2 7 5

3084

3 0

מיון מיזוג

1 2 7 5

084

3

מיון מיזוג

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

צירופיםניתן להשתמש בזהות

על מנת לפתח את הפונקציה הרקורסיבית הבאה

unsigned long choose (int n int k)

if (k gt n)

return 0

if (k == 0 || k == n)

return 1

return (choose(n-1k) + choose(n-1k-1))

נסדר אתC)nk(בצורת משולש ברור שכל הביטויים שעל שתי הצלעות

1 הצדדיות של המשולש שווים כולם ל- כמו כן מתקייםC)n1( = n לכל nלפי הזהות

נובע שכל איבר במשולש שווה לסכום

שני האיברים שמעליו

המשולש שהתקבל נקרא משולש פסקל על שם המתמטיקאי

17 הצרפתי מהמאה ה-(Blaise Pascal בלייז פסקל )

משולש פסקל

משולש פסקל פסקל גילה את משולש פסקל כשעסק בחישובים הסתברותיים שונים

והוכיח כי למשולש ישנן תכונות מתמטיות מעניינות רבותנצבע בשחור את המספרים האי-זוגיים שבמשולש פסקל

( קיבלנו את משולש סרפינסקיSierpinskirsquos Triangle) נסתכל על ערכי המשולש כעל ספרות

(0 לבן = 1 בינאריות )שחור = נעיין במספרים הבינאריים שהתקבלו

משולש פסקלאם נסתכל על כל שורה כעל מספר בינארי נקבל את סדרת המספרים

1 3 5 15 17 51 85 255 257 771 1285 3855 4369hellip מספרים אלו מציינים אילו מצולעים משוכללים בעלי מס אי-זוגי של

צלעות ניתן לבנות בעזרת סרגל ומחוגהנחקרה כבר בידי בנייה גיאומטרית בסרגל ובמחוגה

( ושאר Euclid )אוקלידסהמתמטיקאים ביוון העתיקה

מיזוג נתונים לנו שני מערכיםarr1-ו arr2 בסדר ממוינים אשר שניהם

עולה מעוניינים ליצור מערך שלישיarr3 שיכיל את כל האיברים שבשני

המערכים הראשונים כשהם ממוינים בסדר עולהנציג אלגוריתם מיזוג הפותר את הבעיה

נציב שני מצביעים על תחילתו של כל אחד מהמערכיםarr1-ו arr2 נשווה את ערכיהם של האיברים בתאים שעליהם מורים המצביעים

)התאים הראשונים בכל אחד מהמערכים( במקום הראשון במערךarr3 נשמור את האיבר שערכו הוא הנמוך מבין

השניים ונקדם את המצביע שהצביע על איבר זה אל התא הבא במערך

נחזור על הצעד לגבי הערכים החדשים של המצביעיםנמשיך באותו האופן עד שאחד המצביעים יגיע לסוף המערך-אז כמובן לא נקדם אותו יותר ונעתיק לarr3 לפי הסדר את האיברים

הנותרים במערך השני

מיזוגמהי סיבוכיות זמן הריצה של האלגוריתם

הצעד הבסיסי באלגוריתם המיזוג כולל במקרה הגרוע ביותר(WC השוואה בין שני ערכים במערך העתקת איבר למערך )

שלישי ועדכון הערכים של אחד המצביעים מספר הצעדים המבוצע הוא כאורכו של המערך הממוזג ואם

)Θ)n נקבל כי סיבוכיות זמן הריצה היא nנסמן גודל זה ב-

מיזוג

מיון כיצד אפשר להשתמש באלגוריתם המיזוג שתיארנו כדי למיין

n באורך Aמערך אם נחלק אתA לשני תת-מערכים שווים פחות או יותר בגודלם

ונמיין כל אחד מהם נוכל לאחר מכן להשתמש באלגוריתם המיזוג שפיתחנו על מנת למזג שני חלקים אלה למערך ממוין

נשאלת השאלה מהי דרך המיון שנשתמש בה כדי למיין את שני אולי נשתמש למשל באחד האלגוריתמים למיון Aחלקי המערך

שהכרנו )כמו מיון בחירה מיון בועות או מיון הכנסה( ניתן לעשות זאת אולם בכך לא נשיג שיפור ביעילות האלגוריתם

אשר תישאר ריבועית

מיון מיזוגהמפתח לשיפור במקרה הזה הוא שימוש ברקורסיה את המערך המקורי חילקנו לשני תת-מערכים שווים פחות או יותר

בגודלם ואנחנו מעוניינים למיין כל אחד מהםאת שני החצאים האלה של המערך המקורי נוכל למיין רקורסיבית

נחלק כל אחד מחצאים אלה לשני חלקים )שגודל כל אחד מהם רבעמגודלו של המערך המקורי(

נמיין שוב כל חלק בצורה רקורסיביתנמזג את הרבעים הממוינים ונקבל שני תת-מערכים ממוינים

תת-מערך זה כבר ממוין 1בשלב כלשהו נגיע לתת-מערך בגודל ולכן הרקורסיה תיעצר

מיון מיזוגשיטת מיון זו מכונה( Merge Sort)

מיון מיזוגנכתוב את האלגוריתם

(anמיון-מיזוג)a אזי החזר n = 1אם

אחרתb לתוך מערך a האיברים הראשונים של n2הכנס את c לתוך מערך a האיברים האחרונים של n2הכנס את (bn2מיון-מיזוג)(cn2מיון-מיזוג)

והחזר אותוa למערך c ו-bמזג את שני המערכים

איזו נוסחת נסיגה מבטאת את זמן הריצה שלהאלגוריתם

T)n( =

Θ)1(

n

אם 1 =

2T)n2( + Θ)n( n gt 1 אם

מיון מיזוג

0 1 2 7 54 8 3

1 2 7 5

04 8 3

מיון מיזוג

1 2 7 504 8 3

מיון מיזוג

1 2 7 503

4 8

מיון מיזוג

1 2 7 5

034 8

מיון מיזוג

1 2 7 5

038

4

מיון מיזוג

1 2 7 5

03

4 8

מיון מיזוג

1 2 7 5

30

8

4 03

מיון מיזוג

1 2 7 5

3084 03

מיון מיזוג

1 2 7 5

3084

3

0

מיון מיזוג

1 2 7 5

3084

3 0

מיון מיזוג

1 2 7 5

084

3

מיון מיזוג

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

נסדר אתC)nk(בצורת משולש ברור שכל הביטויים שעל שתי הצלעות

1 הצדדיות של המשולש שווים כולם ל- כמו כן מתקייםC)n1( = n לכל nלפי הזהות

נובע שכל איבר במשולש שווה לסכום

שני האיברים שמעליו

המשולש שהתקבל נקרא משולש פסקל על שם המתמטיקאי

17 הצרפתי מהמאה ה-(Blaise Pascal בלייז פסקל )

משולש פסקל

משולש פסקל פסקל גילה את משולש פסקל כשעסק בחישובים הסתברותיים שונים

והוכיח כי למשולש ישנן תכונות מתמטיות מעניינות רבותנצבע בשחור את המספרים האי-זוגיים שבמשולש פסקל

( קיבלנו את משולש סרפינסקיSierpinskirsquos Triangle) נסתכל על ערכי המשולש כעל ספרות

(0 לבן = 1 בינאריות )שחור = נעיין במספרים הבינאריים שהתקבלו

משולש פסקלאם נסתכל על כל שורה כעל מספר בינארי נקבל את סדרת המספרים

1 3 5 15 17 51 85 255 257 771 1285 3855 4369hellip מספרים אלו מציינים אילו מצולעים משוכללים בעלי מס אי-זוגי של

צלעות ניתן לבנות בעזרת סרגל ומחוגהנחקרה כבר בידי בנייה גיאומטרית בסרגל ובמחוגה

( ושאר Euclid )אוקלידסהמתמטיקאים ביוון העתיקה

מיזוג נתונים לנו שני מערכיםarr1-ו arr2 בסדר ממוינים אשר שניהם

עולה מעוניינים ליצור מערך שלישיarr3 שיכיל את כל האיברים שבשני

המערכים הראשונים כשהם ממוינים בסדר עולהנציג אלגוריתם מיזוג הפותר את הבעיה

נציב שני מצביעים על תחילתו של כל אחד מהמערכיםarr1-ו arr2 נשווה את ערכיהם של האיברים בתאים שעליהם מורים המצביעים

)התאים הראשונים בכל אחד מהמערכים( במקום הראשון במערךarr3 נשמור את האיבר שערכו הוא הנמוך מבין

השניים ונקדם את המצביע שהצביע על איבר זה אל התא הבא במערך

נחזור על הצעד לגבי הערכים החדשים של המצביעיםנמשיך באותו האופן עד שאחד המצביעים יגיע לסוף המערך-אז כמובן לא נקדם אותו יותר ונעתיק לarr3 לפי הסדר את האיברים

הנותרים במערך השני

מיזוגמהי סיבוכיות זמן הריצה של האלגוריתם

הצעד הבסיסי באלגוריתם המיזוג כולל במקרה הגרוע ביותר(WC השוואה בין שני ערכים במערך העתקת איבר למערך )

שלישי ועדכון הערכים של אחד המצביעים מספר הצעדים המבוצע הוא כאורכו של המערך הממוזג ואם

)Θ)n נקבל כי סיבוכיות זמן הריצה היא nנסמן גודל זה ב-

מיזוג

מיון כיצד אפשר להשתמש באלגוריתם המיזוג שתיארנו כדי למיין

n באורך Aמערך אם נחלק אתA לשני תת-מערכים שווים פחות או יותר בגודלם

ונמיין כל אחד מהם נוכל לאחר מכן להשתמש באלגוריתם המיזוג שפיתחנו על מנת למזג שני חלקים אלה למערך ממוין

נשאלת השאלה מהי דרך המיון שנשתמש בה כדי למיין את שני אולי נשתמש למשל באחד האלגוריתמים למיון Aחלקי המערך

שהכרנו )כמו מיון בחירה מיון בועות או מיון הכנסה( ניתן לעשות זאת אולם בכך לא נשיג שיפור ביעילות האלגוריתם

אשר תישאר ריבועית

מיון מיזוגהמפתח לשיפור במקרה הזה הוא שימוש ברקורסיה את המערך המקורי חילקנו לשני תת-מערכים שווים פחות או יותר

בגודלם ואנחנו מעוניינים למיין כל אחד מהםאת שני החצאים האלה של המערך המקורי נוכל למיין רקורסיבית

נחלק כל אחד מחצאים אלה לשני חלקים )שגודל כל אחד מהם רבעמגודלו של המערך המקורי(

נמיין שוב כל חלק בצורה רקורסיביתנמזג את הרבעים הממוינים ונקבל שני תת-מערכים ממוינים

תת-מערך זה כבר ממוין 1בשלב כלשהו נגיע לתת-מערך בגודל ולכן הרקורסיה תיעצר

מיון מיזוגשיטת מיון זו מכונה( Merge Sort)

מיון מיזוגנכתוב את האלגוריתם

(anמיון-מיזוג)a אזי החזר n = 1אם

אחרתb לתוך מערך a האיברים הראשונים של n2הכנס את c לתוך מערך a האיברים האחרונים של n2הכנס את (bn2מיון-מיזוג)(cn2מיון-מיזוג)

והחזר אותוa למערך c ו-bמזג את שני המערכים

איזו נוסחת נסיגה מבטאת את זמן הריצה שלהאלגוריתם

T)n( =

Θ)1(

n

אם 1 =

2T)n2( + Θ)n( n gt 1 אם

מיון מיזוג

0 1 2 7 54 8 3

1 2 7 5

04 8 3

מיון מיזוג

1 2 7 504 8 3

מיון מיזוג

1 2 7 503

4 8

מיון מיזוג

1 2 7 5

034 8

מיון מיזוג

1 2 7 5

038

4

מיון מיזוג

1 2 7 5

03

4 8

מיון מיזוג

1 2 7 5

30

8

4 03

מיון מיזוג

1 2 7 5

3084 03

מיון מיזוג

1 2 7 5

3084

3

0

מיון מיזוג

1 2 7 5

3084

3 0

מיון מיזוג

1 2 7 5

084

3

מיון מיזוג

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

משולש פסקל פסקל גילה את משולש פסקל כשעסק בחישובים הסתברותיים שונים

והוכיח כי למשולש ישנן תכונות מתמטיות מעניינות רבותנצבע בשחור את המספרים האי-זוגיים שבמשולש פסקל

( קיבלנו את משולש סרפינסקיSierpinskirsquos Triangle) נסתכל על ערכי המשולש כעל ספרות

(0 לבן = 1 בינאריות )שחור = נעיין במספרים הבינאריים שהתקבלו

משולש פסקלאם נסתכל על כל שורה כעל מספר בינארי נקבל את סדרת המספרים

1 3 5 15 17 51 85 255 257 771 1285 3855 4369hellip מספרים אלו מציינים אילו מצולעים משוכללים בעלי מס אי-זוגי של

צלעות ניתן לבנות בעזרת סרגל ומחוגהנחקרה כבר בידי בנייה גיאומטרית בסרגל ובמחוגה

( ושאר Euclid )אוקלידסהמתמטיקאים ביוון העתיקה

מיזוג נתונים לנו שני מערכיםarr1-ו arr2 בסדר ממוינים אשר שניהם

עולה מעוניינים ליצור מערך שלישיarr3 שיכיל את כל האיברים שבשני

המערכים הראשונים כשהם ממוינים בסדר עולהנציג אלגוריתם מיזוג הפותר את הבעיה

נציב שני מצביעים על תחילתו של כל אחד מהמערכיםarr1-ו arr2 נשווה את ערכיהם של האיברים בתאים שעליהם מורים המצביעים

)התאים הראשונים בכל אחד מהמערכים( במקום הראשון במערךarr3 נשמור את האיבר שערכו הוא הנמוך מבין

השניים ונקדם את המצביע שהצביע על איבר זה אל התא הבא במערך

נחזור על הצעד לגבי הערכים החדשים של המצביעיםנמשיך באותו האופן עד שאחד המצביעים יגיע לסוף המערך-אז כמובן לא נקדם אותו יותר ונעתיק לarr3 לפי הסדר את האיברים

הנותרים במערך השני

מיזוגמהי סיבוכיות זמן הריצה של האלגוריתם

הצעד הבסיסי באלגוריתם המיזוג כולל במקרה הגרוע ביותר(WC השוואה בין שני ערכים במערך העתקת איבר למערך )

שלישי ועדכון הערכים של אחד המצביעים מספר הצעדים המבוצע הוא כאורכו של המערך הממוזג ואם

)Θ)n נקבל כי סיבוכיות זמן הריצה היא nנסמן גודל זה ב-

מיזוג

מיון כיצד אפשר להשתמש באלגוריתם המיזוג שתיארנו כדי למיין

n באורך Aמערך אם נחלק אתA לשני תת-מערכים שווים פחות או יותר בגודלם

ונמיין כל אחד מהם נוכל לאחר מכן להשתמש באלגוריתם המיזוג שפיתחנו על מנת למזג שני חלקים אלה למערך ממוין

נשאלת השאלה מהי דרך המיון שנשתמש בה כדי למיין את שני אולי נשתמש למשל באחד האלגוריתמים למיון Aחלקי המערך

שהכרנו )כמו מיון בחירה מיון בועות או מיון הכנסה( ניתן לעשות זאת אולם בכך לא נשיג שיפור ביעילות האלגוריתם

אשר תישאר ריבועית

מיון מיזוגהמפתח לשיפור במקרה הזה הוא שימוש ברקורסיה את המערך המקורי חילקנו לשני תת-מערכים שווים פחות או יותר

בגודלם ואנחנו מעוניינים למיין כל אחד מהםאת שני החצאים האלה של המערך המקורי נוכל למיין רקורסיבית

נחלק כל אחד מחצאים אלה לשני חלקים )שגודל כל אחד מהם רבעמגודלו של המערך המקורי(

נמיין שוב כל חלק בצורה רקורסיביתנמזג את הרבעים הממוינים ונקבל שני תת-מערכים ממוינים

תת-מערך זה כבר ממוין 1בשלב כלשהו נגיע לתת-מערך בגודל ולכן הרקורסיה תיעצר

מיון מיזוגשיטת מיון זו מכונה( Merge Sort)

מיון מיזוגנכתוב את האלגוריתם

(anמיון-מיזוג)a אזי החזר n = 1אם

אחרתb לתוך מערך a האיברים הראשונים של n2הכנס את c לתוך מערך a האיברים האחרונים של n2הכנס את (bn2מיון-מיזוג)(cn2מיון-מיזוג)

והחזר אותוa למערך c ו-bמזג את שני המערכים

איזו נוסחת נסיגה מבטאת את זמן הריצה שלהאלגוריתם

T)n( =

Θ)1(

n

אם 1 =

2T)n2( + Θ)n( n gt 1 אם

מיון מיזוג

0 1 2 7 54 8 3

1 2 7 5

04 8 3

מיון מיזוג

1 2 7 504 8 3

מיון מיזוג

1 2 7 503

4 8

מיון מיזוג

1 2 7 5

034 8

מיון מיזוג

1 2 7 5

038

4

מיון מיזוג

1 2 7 5

03

4 8

מיון מיזוג

1 2 7 5

30

8

4 03

מיון מיזוג

1 2 7 5

3084 03

מיון מיזוג

1 2 7 5

3084

3

0

מיון מיזוג

1 2 7 5

3084

3 0

מיון מיזוג

1 2 7 5

084

3

מיון מיזוג

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

משולש פסקלאם נסתכל על כל שורה כעל מספר בינארי נקבל את סדרת המספרים

1 3 5 15 17 51 85 255 257 771 1285 3855 4369hellip מספרים אלו מציינים אילו מצולעים משוכללים בעלי מס אי-זוגי של

צלעות ניתן לבנות בעזרת סרגל ומחוגהנחקרה כבר בידי בנייה גיאומטרית בסרגל ובמחוגה

( ושאר Euclid )אוקלידסהמתמטיקאים ביוון העתיקה

מיזוג נתונים לנו שני מערכיםarr1-ו arr2 בסדר ממוינים אשר שניהם

עולה מעוניינים ליצור מערך שלישיarr3 שיכיל את כל האיברים שבשני

המערכים הראשונים כשהם ממוינים בסדר עולהנציג אלגוריתם מיזוג הפותר את הבעיה

נציב שני מצביעים על תחילתו של כל אחד מהמערכיםarr1-ו arr2 נשווה את ערכיהם של האיברים בתאים שעליהם מורים המצביעים

)התאים הראשונים בכל אחד מהמערכים( במקום הראשון במערךarr3 נשמור את האיבר שערכו הוא הנמוך מבין

השניים ונקדם את המצביע שהצביע על איבר זה אל התא הבא במערך

נחזור על הצעד לגבי הערכים החדשים של המצביעיםנמשיך באותו האופן עד שאחד המצביעים יגיע לסוף המערך-אז כמובן לא נקדם אותו יותר ונעתיק לarr3 לפי הסדר את האיברים

הנותרים במערך השני

מיזוגמהי סיבוכיות זמן הריצה של האלגוריתם

הצעד הבסיסי באלגוריתם המיזוג כולל במקרה הגרוע ביותר(WC השוואה בין שני ערכים במערך העתקת איבר למערך )

שלישי ועדכון הערכים של אחד המצביעים מספר הצעדים המבוצע הוא כאורכו של המערך הממוזג ואם

)Θ)n נקבל כי סיבוכיות זמן הריצה היא nנסמן גודל זה ב-

מיזוג

מיון כיצד אפשר להשתמש באלגוריתם המיזוג שתיארנו כדי למיין

n באורך Aמערך אם נחלק אתA לשני תת-מערכים שווים פחות או יותר בגודלם

ונמיין כל אחד מהם נוכל לאחר מכן להשתמש באלגוריתם המיזוג שפיתחנו על מנת למזג שני חלקים אלה למערך ממוין

נשאלת השאלה מהי דרך המיון שנשתמש בה כדי למיין את שני אולי נשתמש למשל באחד האלגוריתמים למיון Aחלקי המערך

שהכרנו )כמו מיון בחירה מיון בועות או מיון הכנסה( ניתן לעשות זאת אולם בכך לא נשיג שיפור ביעילות האלגוריתם

אשר תישאר ריבועית

מיון מיזוגהמפתח לשיפור במקרה הזה הוא שימוש ברקורסיה את המערך המקורי חילקנו לשני תת-מערכים שווים פחות או יותר

בגודלם ואנחנו מעוניינים למיין כל אחד מהםאת שני החצאים האלה של המערך המקורי נוכל למיין רקורסיבית

נחלק כל אחד מחצאים אלה לשני חלקים )שגודל כל אחד מהם רבעמגודלו של המערך המקורי(

נמיין שוב כל חלק בצורה רקורסיביתנמזג את הרבעים הממוינים ונקבל שני תת-מערכים ממוינים

תת-מערך זה כבר ממוין 1בשלב כלשהו נגיע לתת-מערך בגודל ולכן הרקורסיה תיעצר

מיון מיזוגשיטת מיון זו מכונה( Merge Sort)

מיון מיזוגנכתוב את האלגוריתם

(anמיון-מיזוג)a אזי החזר n = 1אם

אחרתb לתוך מערך a האיברים הראשונים של n2הכנס את c לתוך מערך a האיברים האחרונים של n2הכנס את (bn2מיון-מיזוג)(cn2מיון-מיזוג)

והחזר אותוa למערך c ו-bמזג את שני המערכים

איזו נוסחת נסיגה מבטאת את זמן הריצה שלהאלגוריתם

T)n( =

Θ)1(

n

אם 1 =

2T)n2( + Θ)n( n gt 1 אם

מיון מיזוג

0 1 2 7 54 8 3

1 2 7 5

04 8 3

מיון מיזוג

1 2 7 504 8 3

מיון מיזוג

1 2 7 503

4 8

מיון מיזוג

1 2 7 5

034 8

מיון מיזוג

1 2 7 5

038

4

מיון מיזוג

1 2 7 5

03

4 8

מיון מיזוג

1 2 7 5

30

8

4 03

מיון מיזוג

1 2 7 5

3084 03

מיון מיזוג

1 2 7 5

3084

3

0

מיון מיזוג

1 2 7 5

3084

3 0

מיון מיזוג

1 2 7 5

084

3

מיון מיזוג

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

מיזוג נתונים לנו שני מערכיםarr1-ו arr2 בסדר ממוינים אשר שניהם

עולה מעוניינים ליצור מערך שלישיarr3 שיכיל את כל האיברים שבשני

המערכים הראשונים כשהם ממוינים בסדר עולהנציג אלגוריתם מיזוג הפותר את הבעיה

נציב שני מצביעים על תחילתו של כל אחד מהמערכיםarr1-ו arr2 נשווה את ערכיהם של האיברים בתאים שעליהם מורים המצביעים

)התאים הראשונים בכל אחד מהמערכים( במקום הראשון במערךarr3 נשמור את האיבר שערכו הוא הנמוך מבין

השניים ונקדם את המצביע שהצביע על איבר זה אל התא הבא במערך

נחזור על הצעד לגבי הערכים החדשים של המצביעיםנמשיך באותו האופן עד שאחד המצביעים יגיע לסוף המערך-אז כמובן לא נקדם אותו יותר ונעתיק לarr3 לפי הסדר את האיברים

הנותרים במערך השני

מיזוגמהי סיבוכיות זמן הריצה של האלגוריתם

הצעד הבסיסי באלגוריתם המיזוג כולל במקרה הגרוע ביותר(WC השוואה בין שני ערכים במערך העתקת איבר למערך )

שלישי ועדכון הערכים של אחד המצביעים מספר הצעדים המבוצע הוא כאורכו של המערך הממוזג ואם

)Θ)n נקבל כי סיבוכיות זמן הריצה היא nנסמן גודל זה ב-

מיזוג

מיון כיצד אפשר להשתמש באלגוריתם המיזוג שתיארנו כדי למיין

n באורך Aמערך אם נחלק אתA לשני תת-מערכים שווים פחות או יותר בגודלם

ונמיין כל אחד מהם נוכל לאחר מכן להשתמש באלגוריתם המיזוג שפיתחנו על מנת למזג שני חלקים אלה למערך ממוין

נשאלת השאלה מהי דרך המיון שנשתמש בה כדי למיין את שני אולי נשתמש למשל באחד האלגוריתמים למיון Aחלקי המערך

שהכרנו )כמו מיון בחירה מיון בועות או מיון הכנסה( ניתן לעשות זאת אולם בכך לא נשיג שיפור ביעילות האלגוריתם

אשר תישאר ריבועית

מיון מיזוגהמפתח לשיפור במקרה הזה הוא שימוש ברקורסיה את המערך המקורי חילקנו לשני תת-מערכים שווים פחות או יותר

בגודלם ואנחנו מעוניינים למיין כל אחד מהםאת שני החצאים האלה של המערך המקורי נוכל למיין רקורסיבית

נחלק כל אחד מחצאים אלה לשני חלקים )שגודל כל אחד מהם רבעמגודלו של המערך המקורי(

נמיין שוב כל חלק בצורה רקורסיביתנמזג את הרבעים הממוינים ונקבל שני תת-מערכים ממוינים

תת-מערך זה כבר ממוין 1בשלב כלשהו נגיע לתת-מערך בגודל ולכן הרקורסיה תיעצר

מיון מיזוגשיטת מיון זו מכונה( Merge Sort)

מיון מיזוגנכתוב את האלגוריתם

(anמיון-מיזוג)a אזי החזר n = 1אם

אחרתb לתוך מערך a האיברים הראשונים של n2הכנס את c לתוך מערך a האיברים האחרונים של n2הכנס את (bn2מיון-מיזוג)(cn2מיון-מיזוג)

והחזר אותוa למערך c ו-bמזג את שני המערכים

איזו נוסחת נסיגה מבטאת את זמן הריצה שלהאלגוריתם

T)n( =

Θ)1(

n

אם 1 =

2T)n2( + Θ)n( n gt 1 אם

מיון מיזוג

0 1 2 7 54 8 3

1 2 7 5

04 8 3

מיון מיזוג

1 2 7 504 8 3

מיון מיזוג

1 2 7 503

4 8

מיון מיזוג

1 2 7 5

034 8

מיון מיזוג

1 2 7 5

038

4

מיון מיזוג

1 2 7 5

03

4 8

מיון מיזוג

1 2 7 5

30

8

4 03

מיון מיזוג

1 2 7 5

3084 03

מיון מיזוג

1 2 7 5

3084

3

0

מיון מיזוג

1 2 7 5

3084

3 0

מיון מיזוג

1 2 7 5

084

3

מיון מיזוג

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

מיזוגמהי סיבוכיות זמן הריצה של האלגוריתם

הצעד הבסיסי באלגוריתם המיזוג כולל במקרה הגרוע ביותר(WC השוואה בין שני ערכים במערך העתקת איבר למערך )

שלישי ועדכון הערכים של אחד המצביעים מספר הצעדים המבוצע הוא כאורכו של המערך הממוזג ואם

)Θ)n נקבל כי סיבוכיות זמן הריצה היא nנסמן גודל זה ב-

מיזוג

מיון כיצד אפשר להשתמש באלגוריתם המיזוג שתיארנו כדי למיין

n באורך Aמערך אם נחלק אתA לשני תת-מערכים שווים פחות או יותר בגודלם

ונמיין כל אחד מהם נוכל לאחר מכן להשתמש באלגוריתם המיזוג שפיתחנו על מנת למזג שני חלקים אלה למערך ממוין

נשאלת השאלה מהי דרך המיון שנשתמש בה כדי למיין את שני אולי נשתמש למשל באחד האלגוריתמים למיון Aחלקי המערך

שהכרנו )כמו מיון בחירה מיון בועות או מיון הכנסה( ניתן לעשות זאת אולם בכך לא נשיג שיפור ביעילות האלגוריתם

אשר תישאר ריבועית

מיון מיזוגהמפתח לשיפור במקרה הזה הוא שימוש ברקורסיה את המערך המקורי חילקנו לשני תת-מערכים שווים פחות או יותר

בגודלם ואנחנו מעוניינים למיין כל אחד מהםאת שני החצאים האלה של המערך המקורי נוכל למיין רקורסיבית

נחלק כל אחד מחצאים אלה לשני חלקים )שגודל כל אחד מהם רבעמגודלו של המערך המקורי(

נמיין שוב כל חלק בצורה רקורסיביתנמזג את הרבעים הממוינים ונקבל שני תת-מערכים ממוינים

תת-מערך זה כבר ממוין 1בשלב כלשהו נגיע לתת-מערך בגודל ולכן הרקורסיה תיעצר

מיון מיזוגשיטת מיון זו מכונה( Merge Sort)

מיון מיזוגנכתוב את האלגוריתם

(anמיון-מיזוג)a אזי החזר n = 1אם

אחרתb לתוך מערך a האיברים הראשונים של n2הכנס את c לתוך מערך a האיברים האחרונים של n2הכנס את (bn2מיון-מיזוג)(cn2מיון-מיזוג)

והחזר אותוa למערך c ו-bמזג את שני המערכים

איזו נוסחת נסיגה מבטאת את זמן הריצה שלהאלגוריתם

T)n( =

Θ)1(

n

אם 1 =

2T)n2( + Θ)n( n gt 1 אם

מיון מיזוג

0 1 2 7 54 8 3

1 2 7 5

04 8 3

מיון מיזוג

1 2 7 504 8 3

מיון מיזוג

1 2 7 503

4 8

מיון מיזוג

1 2 7 5

034 8

מיון מיזוג

1 2 7 5

038

4

מיון מיזוג

1 2 7 5

03

4 8

מיון מיזוג

1 2 7 5

30

8

4 03

מיון מיזוג

1 2 7 5

3084 03

מיון מיזוג

1 2 7 5

3084

3

0

מיון מיזוג

1 2 7 5

3084

3 0

מיון מיזוג

1 2 7 5

084

3

מיון מיזוג

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

מיזוג

מיון כיצד אפשר להשתמש באלגוריתם המיזוג שתיארנו כדי למיין

n באורך Aמערך אם נחלק אתA לשני תת-מערכים שווים פחות או יותר בגודלם

ונמיין כל אחד מהם נוכל לאחר מכן להשתמש באלגוריתם המיזוג שפיתחנו על מנת למזג שני חלקים אלה למערך ממוין

נשאלת השאלה מהי דרך המיון שנשתמש בה כדי למיין את שני אולי נשתמש למשל באחד האלגוריתמים למיון Aחלקי המערך

שהכרנו )כמו מיון בחירה מיון בועות או מיון הכנסה( ניתן לעשות זאת אולם בכך לא נשיג שיפור ביעילות האלגוריתם

אשר תישאר ריבועית

מיון מיזוגהמפתח לשיפור במקרה הזה הוא שימוש ברקורסיה את המערך המקורי חילקנו לשני תת-מערכים שווים פחות או יותר

בגודלם ואנחנו מעוניינים למיין כל אחד מהםאת שני החצאים האלה של המערך המקורי נוכל למיין רקורסיבית

נחלק כל אחד מחצאים אלה לשני חלקים )שגודל כל אחד מהם רבעמגודלו של המערך המקורי(

נמיין שוב כל חלק בצורה רקורסיביתנמזג את הרבעים הממוינים ונקבל שני תת-מערכים ממוינים

תת-מערך זה כבר ממוין 1בשלב כלשהו נגיע לתת-מערך בגודל ולכן הרקורסיה תיעצר

מיון מיזוגשיטת מיון זו מכונה( Merge Sort)

מיון מיזוגנכתוב את האלגוריתם

(anמיון-מיזוג)a אזי החזר n = 1אם

אחרתb לתוך מערך a האיברים הראשונים של n2הכנס את c לתוך מערך a האיברים האחרונים של n2הכנס את (bn2מיון-מיזוג)(cn2מיון-מיזוג)

והחזר אותוa למערך c ו-bמזג את שני המערכים

איזו נוסחת נסיגה מבטאת את זמן הריצה שלהאלגוריתם

T)n( =

Θ)1(

n

אם 1 =

2T)n2( + Θ)n( n gt 1 אם

מיון מיזוג

0 1 2 7 54 8 3

1 2 7 5

04 8 3

מיון מיזוג

1 2 7 504 8 3

מיון מיזוג

1 2 7 503

4 8

מיון מיזוג

1 2 7 5

034 8

מיון מיזוג

1 2 7 5

038

4

מיון מיזוג

1 2 7 5

03

4 8

מיון מיזוג

1 2 7 5

30

8

4 03

מיון מיזוג

1 2 7 5

3084 03

מיון מיזוג

1 2 7 5

3084

3

0

מיון מיזוג

1 2 7 5

3084

3 0

מיון מיזוג

1 2 7 5

084

3

מיון מיזוג

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

מיון כיצד אפשר להשתמש באלגוריתם המיזוג שתיארנו כדי למיין

n באורך Aמערך אם נחלק אתA לשני תת-מערכים שווים פחות או יותר בגודלם

ונמיין כל אחד מהם נוכל לאחר מכן להשתמש באלגוריתם המיזוג שפיתחנו על מנת למזג שני חלקים אלה למערך ממוין

נשאלת השאלה מהי דרך המיון שנשתמש בה כדי למיין את שני אולי נשתמש למשל באחד האלגוריתמים למיון Aחלקי המערך

שהכרנו )כמו מיון בחירה מיון בועות או מיון הכנסה( ניתן לעשות זאת אולם בכך לא נשיג שיפור ביעילות האלגוריתם

אשר תישאר ריבועית

מיון מיזוגהמפתח לשיפור במקרה הזה הוא שימוש ברקורסיה את המערך המקורי חילקנו לשני תת-מערכים שווים פחות או יותר

בגודלם ואנחנו מעוניינים למיין כל אחד מהםאת שני החצאים האלה של המערך המקורי נוכל למיין רקורסיבית

נחלק כל אחד מחצאים אלה לשני חלקים )שגודל כל אחד מהם רבעמגודלו של המערך המקורי(

נמיין שוב כל חלק בצורה רקורסיביתנמזג את הרבעים הממוינים ונקבל שני תת-מערכים ממוינים

תת-מערך זה כבר ממוין 1בשלב כלשהו נגיע לתת-מערך בגודל ולכן הרקורסיה תיעצר

מיון מיזוגשיטת מיון זו מכונה( Merge Sort)

מיון מיזוגנכתוב את האלגוריתם

(anמיון-מיזוג)a אזי החזר n = 1אם

אחרתb לתוך מערך a האיברים הראשונים של n2הכנס את c לתוך מערך a האיברים האחרונים של n2הכנס את (bn2מיון-מיזוג)(cn2מיון-מיזוג)

והחזר אותוa למערך c ו-bמזג את שני המערכים

איזו נוסחת נסיגה מבטאת את זמן הריצה שלהאלגוריתם

T)n( =

Θ)1(

n

אם 1 =

2T)n2( + Θ)n( n gt 1 אם

מיון מיזוג

0 1 2 7 54 8 3

1 2 7 5

04 8 3

מיון מיזוג

1 2 7 504 8 3

מיון מיזוג

1 2 7 503

4 8

מיון מיזוג

1 2 7 5

034 8

מיון מיזוג

1 2 7 5

038

4

מיון מיזוג

1 2 7 5

03

4 8

מיון מיזוג

1 2 7 5

30

8

4 03

מיון מיזוג

1 2 7 5

3084 03

מיון מיזוג

1 2 7 5

3084

3

0

מיון מיזוג

1 2 7 5

3084

3 0

מיון מיזוג

1 2 7 5

084

3

מיון מיזוג

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

מיון מיזוגהמפתח לשיפור במקרה הזה הוא שימוש ברקורסיה את המערך המקורי חילקנו לשני תת-מערכים שווים פחות או יותר

בגודלם ואנחנו מעוניינים למיין כל אחד מהםאת שני החצאים האלה של המערך המקורי נוכל למיין רקורסיבית

נחלק כל אחד מחצאים אלה לשני חלקים )שגודל כל אחד מהם רבעמגודלו של המערך המקורי(

נמיין שוב כל חלק בצורה רקורסיביתנמזג את הרבעים הממוינים ונקבל שני תת-מערכים ממוינים

תת-מערך זה כבר ממוין 1בשלב כלשהו נגיע לתת-מערך בגודל ולכן הרקורסיה תיעצר

מיון מיזוגשיטת מיון זו מכונה( Merge Sort)

מיון מיזוגנכתוב את האלגוריתם

(anמיון-מיזוג)a אזי החזר n = 1אם

אחרתb לתוך מערך a האיברים הראשונים של n2הכנס את c לתוך מערך a האיברים האחרונים של n2הכנס את (bn2מיון-מיזוג)(cn2מיון-מיזוג)

והחזר אותוa למערך c ו-bמזג את שני המערכים

איזו נוסחת נסיגה מבטאת את זמן הריצה שלהאלגוריתם

T)n( =

Θ)1(

n

אם 1 =

2T)n2( + Θ)n( n gt 1 אם

מיון מיזוג

0 1 2 7 54 8 3

1 2 7 5

04 8 3

מיון מיזוג

1 2 7 504 8 3

מיון מיזוג

1 2 7 503

4 8

מיון מיזוג

1 2 7 5

034 8

מיון מיזוג

1 2 7 5

038

4

מיון מיזוג

1 2 7 5

03

4 8

מיון מיזוג

1 2 7 5

30

8

4 03

מיון מיזוג

1 2 7 5

3084 03

מיון מיזוג

1 2 7 5

3084

3

0

מיון מיזוג

1 2 7 5

3084

3 0

מיון מיזוג

1 2 7 5

084

3

מיון מיזוג

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

מיון מיזוגנכתוב את האלגוריתם

(anמיון-מיזוג)a אזי החזר n = 1אם

אחרתb לתוך מערך a האיברים הראשונים של n2הכנס את c לתוך מערך a האיברים האחרונים של n2הכנס את (bn2מיון-מיזוג)(cn2מיון-מיזוג)

והחזר אותוa למערך c ו-bמזג את שני המערכים

איזו נוסחת נסיגה מבטאת את זמן הריצה שלהאלגוריתם

T)n( =

Θ)1(

n

אם 1 =

2T)n2( + Θ)n( n gt 1 אם

מיון מיזוג

0 1 2 7 54 8 3

1 2 7 5

04 8 3

מיון מיזוג

1 2 7 504 8 3

מיון מיזוג

1 2 7 503

4 8

מיון מיזוג

1 2 7 5

034 8

מיון מיזוג

1 2 7 5

038

4

מיון מיזוג

1 2 7 5

03

4 8

מיון מיזוג

1 2 7 5

30

8

4 03

מיון מיזוג

1 2 7 5

3084 03

מיון מיזוג

1 2 7 5

3084

3

0

מיון מיזוג

1 2 7 5

3084

3 0

מיון מיזוג

1 2 7 5

084

3

מיון מיזוג

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

מיון מיזוג

0 1 2 7 54 8 3

1 2 7 5

04 8 3

מיון מיזוג

1 2 7 504 8 3

מיון מיזוג

1 2 7 503

4 8

מיון מיזוג

1 2 7 5

034 8

מיון מיזוג

1 2 7 5

038

4

מיון מיזוג

1 2 7 5

03

4 8

מיון מיזוג

1 2 7 5

30

8

4 03

מיון מיזוג

1 2 7 5

3084 03

מיון מיזוג

1 2 7 5

3084

3

0

מיון מיזוג

1 2 7 5

3084

3 0

מיון מיזוג

1 2 7 5

084

3

מיון מיזוג

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

1 2 7 5

04 8 3

מיון מיזוג

1 2 7 504 8 3

מיון מיזוג

1 2 7 503

4 8

מיון מיזוג

1 2 7 5

034 8

מיון מיזוג

1 2 7 5

038

4

מיון מיזוג

1 2 7 5

03

4 8

מיון מיזוג

1 2 7 5

30

8

4 03

מיון מיזוג

1 2 7 5

3084 03

מיון מיזוג

1 2 7 5

3084

3

0

מיון מיזוג

1 2 7 5

3084

3 0

מיון מיזוג

1 2 7 5

084

3

מיון מיזוג

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

1 2 7 504 8 3

מיון מיזוג

1 2 7 503

4 8

מיון מיזוג

1 2 7 5

034 8

מיון מיזוג

1 2 7 5

038

4

מיון מיזוג

1 2 7 5

03

4 8

מיון מיזוג

1 2 7 5

30

8

4 03

מיון מיזוג

1 2 7 5

3084 03

מיון מיזוג

1 2 7 5

3084

3

0

מיון מיזוג

1 2 7 5

3084

3 0

מיון מיזוג

1 2 7 5

084

3

מיון מיזוג

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

1 2 7 503

4 8

מיון מיזוג

1 2 7 5

034 8

מיון מיזוג

1 2 7 5

038

4

מיון מיזוג

1 2 7 5

03

4 8

מיון מיזוג

1 2 7 5

30

8

4 03

מיון מיזוג

1 2 7 5

3084 03

מיון מיזוג

1 2 7 5

3084

3

0

מיון מיזוג

1 2 7 5

3084

3 0

מיון מיזוג

1 2 7 5

084

3

מיון מיזוג

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

1 2 7 5

034 8

מיון מיזוג

1 2 7 5

038

4

מיון מיזוג

1 2 7 5

03

4 8

מיון מיזוג

1 2 7 5

30

8

4 03

מיון מיזוג

1 2 7 5

3084 03

מיון מיזוג

1 2 7 5

3084

3

0

מיון מיזוג

1 2 7 5

3084

3 0

מיון מיזוג

1 2 7 5

084

3

מיון מיזוג

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

1 2 7 5

038

4

מיון מיזוג

1 2 7 5

03

4 8

מיון מיזוג

1 2 7 5

30

8

4 03

מיון מיזוג

1 2 7 5

3084 03

מיון מיזוג

1 2 7 5

3084

3

0

מיון מיזוג

1 2 7 5

3084

3 0

מיון מיזוג

1 2 7 5

084

3

מיון מיזוג

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

1 2 7 5

03

4 8

מיון מיזוג

1 2 7 5

30

8

4 03

מיון מיזוג

1 2 7 5

3084 03

מיון מיזוג

1 2 7 5

3084

3

0

מיון מיזוג

1 2 7 5

3084

3 0

מיון מיזוג

1 2 7 5

084

3

מיון מיזוג

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

1 2 7 5

30

8

4 03

מיון מיזוג

1 2 7 5

3084 03

מיון מיזוג

1 2 7 5

3084

3

0

מיון מיזוג

1 2 7 5

3084

3 0

מיון מיזוג

1 2 7 5

084

3

מיון מיזוג

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

1 2 7 5

3084 03

מיון מיזוג

1 2 7 5

3084

3

0

מיון מיזוג

1 2 7 5

3084

3 0

מיון מיזוג

1 2 7 5

084

3

מיון מיזוג

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

1 2 7 5

3084

3

0

מיון מיזוג

1 2 7 5

3084

3 0

מיון מיזוג

1 2 7 5

084

3

מיון מיזוג

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

1 2 7 5

3084

3 0

מיון מיזוג

1 2 7 5

084

3

מיון מיזוג

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

1 2 7 5

084

3

מיון מיזוג

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

1 2 7 5

3084

מיון מיזוג

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

1 2 7 530 0

384

30

מיון מיזוג

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

1 2 7 530 3 0

84

30

מיון מיזוג

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

1 2 7 530 3 0

8

304

מיון מיזוג

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

1 2 7 530 3 0 30 84

מיון מיזוג

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

7 530 3 0 30 84

1 2

מיון מיזוג

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

30 3 0 30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

30 3 0 30 84

2 7 5

1

מיון מיזוג

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

30 3 0 30 84

7 5

1 2

מיון מיזוג

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

30 3 0 30 84

1 7 5

2

מיון מיזוג

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

30

30 3 0

30

30 84

1 2 7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

30 3 0 30 84

1 2

7 5

מיון מיזוג

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

30 3 0 30 84

1 2 5

7

מיון מיזוג

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

30 3 0 30 84

1 2 5 7

מיון מיזוג

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

130 3 0 30 84

2 5 7

מיון מיזוג

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

1 230 3 0 30 84

5 7

מיון מיזוג

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

1 2 530 3 0 30 84

7

מיון מיזוג

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

1 2 5 730 3 0 30 84

מיון מיזוג

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

30 0

1 2 5 733 0

30

30 84

מיון מיזוג

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

30 1 0

2 5 733 0

30

30 84

מיון מיזוג

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

30 1 0

5 733 0

30

30

2

84

מיון מיזוג

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

30 1 0

5 730

30

30

32

84

מיון מיזוג

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

3 40 1 0

5 730

30

30

32

8

מיון מיזוג

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

3 4 50 1 0

730

30

30

32

8

מיון מיזוג

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

3 4 5 70 1 0

30

30

30

32

8

מיון מיזוג

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

3 4 5 7 80 1 0

30

30

30

32

מיון מיזוג

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

מיון מיזוג נבדוק מהו מספר הצעדים הבסיסיים שמבצע האלגוריתם

איבריםnמיון-מיזוג הפועל על מערך שבו ראינו כי נוסחת הנסיגה המתאימה היאT)n( = 2T)n2( + Θ)n( ניתן לפתור אותה על-ידי שימוש בשיטת האיטרציה

T)n( = 2T)n2( + n=

= 2)2T)n4( + n2( + n =

= 4T)n4( + n + n == 4)2T)n8( + n4( + 2n =

= 8T)n8( + n + 2n =

= 8T)n8( + 3n =

hellip

= 2kT)n2k( + kn

סיימו את החישוב כתרגיל וקבלו )T)n( = Θ)nlognשהפתרון הוא

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

תרגיל )אביב תשסה(נגדיר

הנוסחה הרקורסיבית בעבורf)n(היא

1

2

3

4

n

111f(n)

1)-f(n1f(n) 1)f(n1f(n) 1)f(n1f(n) 2)f(n2f(n)

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

תרגיל )אביב תשסב( נתונה שפה שבה האלף-בית הואab-נסמן ב f)n( את

-ים a שאין בה שני nמספר המילים בשפה זו באורך סמוכים

)לכן )בחר את התשובה הנכונה

1 f)n(=f)n-1(+2f)n-2(

2 f)n(=f)n-2(+2

3 f)n(=f)n-1(+f)n-2(

4 f)n(=1+f)n-1(+2+f)n-2(

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

נתונה סדרה חשבונית

a a + d a + 2d a + 3d a + 4d hellip a + ndhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = S)n-1( + d

2S)n( = S)n-1( + a + )n-1( d

3S)n( = S)n-1( + n d

4S)n( = S)n-1( d

תרגיל )אביב תשסה(

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

תרגיל )אביב תשסו(נתונה סדרה הנדסית

a a t a t2 a t3 a t4 hellip a tnhellip

-נסמן בS)n( את סכום n האיברים הראשונים של הסדרה היא)S)nהנוסחה הרקורסיבית בעבור

1S)n( = t S)n-1(

2S)n( = t + S)n-1(

3S)n( = S)n-1( + a tn-1

4S)n( = S)n-1( a tn-1

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4

תרגיל )אביב תשסב( להלן אלגוריתם בשםTrouble)n(הכתוב בעברית מובנית

S1 בצע nle1 אם 1 אחרת ndash בצע

בצעn עד 1 מ-iעבור 11 111 Trouble)n2(

בצעn עד 1 מ-iעבור 12 121 Trouble)n2(

סוף האלגוריתם2

נתון כיS1 הוא משפט פשוט והזמן הדרוש לביצועו הוא O)1(-נסמן ב T)n( )T)nאת פונקציית זמן הריצה של האלגוריתם הנתון נוסחת הנסיגה עבור

היא

1 T)n( = 2T)n2( + Θ)1(2 T)n( = 2nT)n2( + Θ)1(

3 T)n( = 2T)n2( + Θ)n( אף תשובה אינה נכונה4