זמן ריצה פולינומי

מתוך ויקיפדיה, האנציקלופדיה החופשית

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

לאלגוריתם נתון ישנו זמן ריצה פולינומי אם קיים פולינום (P(n כך שזמן הריצה של האלגוריתם עבור קלטים בגודל n חסום על ידי ערך הפולינום עבור n. זמני ריצה שאינם נחסמים על ידי פולינום, כגון זמן ריצה אקספוננציאלי, נקראים לעתים "סופר-פולינומיים".

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