סיבוכיות על קצה המזלג
בדר"כ מודדים את היעילות של אלגוריתם (בוא נדבר כרגע על יעילות זמן) לפי "כמה פעולות בסיסיות הוא מבצע כפונקציה של אורך הקלט". כלומר, מה שבעיקר מעניין אותנו זה לא "האלגוריתם רץ 5 שניות" כי זה חסר משמעות, אלא כמה האלגוריתם רגיש לשינויים בקלט, או במילים אחרות, אם נגדיל את הקלט ביחס מסויים, איך יגדל זמן הריצה של האלגוריתם? אם האלגוריתם לא תלוי בכלל בקלט (למשל, לולאה שרצה 10 פעמים) אז האלגוריתם בכלל לא רגיש לקלט, הוא אפילו אדיש אליו, ולכן הסיבוכיות שלו היא אושן 1 (מצטער, ויני, פעם אחרונה ודי!) O(1) כמובן. אם האלגוריתם שלך קולט מספר N ואז יש לולאה שרצה N פעמים אז הסיבוכיות היא O(N) - כלומר האלגוריתם רגיש בצורה ליניארית לקלט - ברור לך שככל שתגדיל את N ככה זמן הריצה יגדל בצורה ליניארית. ויש עוד כל מיני. ולעניין ה-O, זה כבר סיפור אחר, אין לי כוח לכתוב כרגע, אבל תגיד אם זה עוזר בכלל...