פורסם 2008 בדצמבר 1116 שנים שלוםקיבלנו את האלגוריתם הבא:N הוא אורך הקלט1. I=N2.כל עוד I>=1 בצע: 2.1 סדרת משפטים שאינם משנים את ערכו של I 2.2עבור J מ-1 עד I בצע:2.2.1 סדרת משפטים שאינם משנים את ערכיהם של I ו-J2.3 I=I/2צריכים למצוא את סיבוכיות האלגוריתם ופונקצית זמן הריצההלולאה שמתחילה בפקודה 2 ברורה ופשוטה - מתבצעת log2N פעמיםאבל הלולאה השנייה פחות ברור לי איך להגדירהיא מתבצעת N+N/2 + N/4 + N/8 וכן הלאה, פעמיםתודה מראש
פורסם 2008 בדצמבר 1116 שנים אם הבנתי נכון למה אתה מתכוון:1. מתבצע בזמן קבוע ( O(12.2.1 מתבצע בזמן קבוע.2.2, מתבצעת I פעמים.לכן כמו שאמרת מספר הפעולות בה הוא N+N/2 + N/4 + N/8... שזה חסום על ידי 2N.לכן הסיבוכיות היא ( O(N (יש עוד ( O(logN פעולות בגלל 2.1 אבל זה לא משנה את החסם של הסיבוכיות).
פורסם 2008 בדצמבר 1116 שנים לא. הלולאה מתבצעת logN פעמים, אבל אתה לא מבצע בכל פעם 2N פעולות.בפעם הראשונה אתה מבצע N, בפעם השניה N/2 וכן הלאה. ולכן סה"כ 2N.מספר האיברים בסדרה N, N/2, N/4 N/8... הוא logN וזה מספר הפעמים שהלולאה מתבצעת.
פורסם 2008 בדצמבר 1116 שנים מחבר אגב קצת התבלבלתי מכל השיעורי בית האלה: עכשיו שעזרת לי להגיע לתשובה(תודה קודם כל ) אז אומרים שפונקצית זמן הריצה היא: log2n + 2n+1 והסיבוכיות היא: O(n) ? שוב תודה
פורסם 2008 בדצמבר 1116 שנים אם הכוונה בפונקצית זמן ריצה היא למספר הפעולות אז זה מה שכתבת, רק שצריך להכפיל את logN ו 2N במספר הפעולות הקבועות שיש בלולאות שלהם. (וזה גם לא מדויק כי 2N זה חסם, זה לא מספר הפעולות).הסיבוכיות היא ( O(N.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.