סיבוכית ריצה - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

סיבוכית ריצה


ruli yeret

Recommended Posts

הקוד מנוסח בצורה קצת בעייתית. כיוון שהמשתנה k גם מופיע בלולאת ה-for וגם מקודם בתוכה, לא ברור האם לולאת ה-for כל פעם דורסת את ערכו של k עם הערך הבא בסדרה, או שמא היא רק מקדמת את k ב-1 מהערך הקודם שהיה לו (וההבדל תלוי באיזו שפה תכנות שמשתמשים בה...)

קישור לתוכן
שתף באתרים אחרים

לפי דעתי זה O(n^3)

הקטע המסובך זה לעשות

{ for i = 1 to n { k = 2 while k < i k = k*2

אם נסתכל על

k = 2 while k < i k = k*2

הריי שזה

O(log(i)) Complexity

אבל, i בעצמו רץ על 1 עד n

כלומר יש לנו פה סכום של הלוגים מ1 עד n.

לפי דעתי צריך להראות שהסכום של הלוגים מ1 עד n שקול בעצם ל O(n) Complexity

ואז משתי הלולאות האחרות שסתם מכפילות לך את הסכום הנ"ל ב n*n/4 יצא לך שהסיבוכיות הסופית היא

O(n^3) Complexity

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...