Skip to content
Home » Polynomial vs. Exponential running time

Polynomial vs. Exponential running time


📘 Polynomial vs. Exponential Running Time

1️⃣ Introduction

The running time of an algorithm describes how the time required for execution grows as the input size (n) increases.

Algorithms are broadly classified based on their growth rates into:

  • Polynomial-time algorithms
  • Exponential-time algorithms

This distinction is very important in Design & Analysis of Algorithms, especially in complexity theory and NP-completeness.


2️⃣ Polynomial Running Time

🔹 Definition

An algorithm is said to have polynomial running time if its time complexity can be expressed as:
[
O(n^k)
]
where k is a constant and n is the input size.


🔹 Examples of Polynomial Time

  • O(1) – Constant time
  • O(log n) – Logarithmic time
  • O(n) – Linear time
  • O(n log n) – Linearithmic time
  • O(n²), O(n³) – Quadratic, Cubic time

📌 Common Polynomial-Time Algorithms:

  • Linear Search – O(n)
  • Binary Search – O(log n)
  • Merge Sort – O(n log n)
  • Dijkstra’s Algorithm – O(n²)

🔹 Characteristics of Polynomial Time

  • Efficient and scalable
  • Practical for large input sizes
  • Considered tractable problems
  • Preferred in real-world applications

3️⃣ Exponential Running Time

🔹 Definition

An algorithm has exponential running time if its complexity grows as:
[
O(c^n)
]
where c > 1 (usually 2).


🔹 Examples of Exponential Time

  • O(2ⁿ)
  • O(3ⁿ)
  • O(n!) (even worse than exponential)

📌 Common Exponential-Time Algorithms:

  • Recursive Fibonacci (naïve)
  • Brute-force Traveling Salesman Problem
  • Subset Sum (brute force)

🔹 Characteristics of Exponential Time

  • Extremely slow growth
  • Not scalable
  • Only feasible for very small n
  • Considered intractable problems

4️⃣ Comparison: Polynomial vs Exponential Time

FeaturePolynomial TimeExponential Time
Growth RateSlowVery fast
ScalabilityGoodPoor
Practical UseYesNo (large n)
ExamplesO(n), O(n²), O(n log n)O(2ⁿ), O(n!)
Problem TypeTractableIntractable
Real-world UsageCommonRare

5️⃣ Example Comparison

🔹 Input Size Impact

nO(n²)O(2ⁿ)
101001024
204001,048,576
5025001.12 × 10¹⁵

✔ Exponential algorithms become impractical very quickly.


6️⃣ Role in NP-Completeness

  • Problems in Class P → Polynomial-time solvable
  • Problems in Class NP → No known polynomial-time solution
  • NP-Complete problems are believed to require exponential time

📌 Example:

  • SAT Problem
  • Traveling Salesman Problem
  • Clique Problem

7️⃣ Importance in Algorithm Design

  • Helps in choosing efficient algorithms
  • Avoids brute-force approaches
  • Encourages optimization (DP, Greedy, Approximation)
  • Critical for large-scale systems

8️⃣ Exam-Oriented Key Points

  • Polynomial-time algorithms are efficient
  • Exponential-time algorithms are impractical
  • P vs NP is based on this difference
  • Always prefer polynomial solutions

🔚 Conclusion

Polynomial and exponential running times represent two very different growth behaviors.

Polynomial-time algorithms scale well and are practical, whereas exponential-time algorithms become unusable as input size increases.