ערכתי לאחרונה בתאריך 27.11.07 בשעה 21:34 בברכה, DLN
ממ מהידע המאוד כללי שלי בזה, תקנו אותי אם אני טועה בבקשה 
סיבוכיות זמן ריצה זה הגורם הכי משמעותי של הפונקציה של האלגוריתם, כלומר הגורם במעלה הכי גבוהה או בקיצור שגורם הכי הרבה שינוילדוגמא
בפונקציה
n²+3n הגורם המשמעותי יהיה n² ולכן הסיבוכיות של אלגוריתם שזו הפונקציה שלו היא O(n²) :|
איך מוצאים את את הפוקנציה של אלגוריתם כלשהו? ממ אני לא זוכר במדויק אבל זה בערך ככה
פשוט סופרים כל פעולה כאשר בפעולה הכוונה היא לפעולות בסיסיות כמו הצבה
ולכן סופרים גם השוואות וכו'
נניח יש לך את הפונקציה הבאה
int a=10; for(int i=0;i<n;i++); a--;
|
יש לך פעולה אחת בהתחלה, עוד פעולה בלולאה ועוד 3 פעולות שחוזרות על עצמם לפי מספר הn, כלומר n פעמים ההשוואה i<n וn פעמים הincrement וn פעמים הdecrement.
אז הפונקציה היא 3n+1 ואז הגורם הכי משמעותי פה הוא n.
ולכן הסיבוכיות היא o(n);
אם יש לך תנאי כלשהו, if או case, תמיד לוקחים את המקרה הכי גרוע, זאת אומרת שיש בו יותר פעולות.
ממ מה עוד
לולאות מקוננות זה בעצם n*n כמובן
בקשר לפונקציה שאתה הבאת... קשה אני אנסה את זה עכשיו :|
