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

מתוך ויקיספר, אוסף הספרים והמדריכים החופשי

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

הטענה שקיים (כלומר ) ברורה, מפני שאנו יודעים שהפונקציה עוברת על כל אחד מהצמתים, ויש צמתים עפ"י ההגדרה. נוכיח לכן רק את הטענה לגבי קיומו של .


הוכחה: (בסיס האינדוקציה) נבחר את בסיס האינדוקציה כ.

ונסמן ב את זמן הריצה של הפונקציה על קלט בגודל 1. מכאן נקבל את האילוץ על : . בוודאי שקיים המקיים אילוץ זה.


(מעבר האינדוקציה) נניח שהטענה מתקיימת לכל .

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

מעבר האינדוקציה.
מעבר האינדוקציה.

הנוסחה אומרת שקיים כך שמתקיים .

נשתמש בנוסחת הנסיגה ובהנחת האינדוקציה, ונקבל





אם נבחר אז שלילי, ולכן בהכרח .


נשים לב שבסיס האינדוקציה הגביל אותנו לבחור , ומעבר האינדוקציה הגביל אותנו לבחור .

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


.