Real-world example of exponential time complexity

后端 未结 5 2025
南笙
南笙 2021-01-30 04:09

I\'m looking for an intuitive, real-world example of a problem that takes (worst case) exponential time complexity to solve for a talk I am giving.

Here are examples for

5条回答
  •  死守一世寂寞
    2021-01-30 05:01

    A pizza restaurant has several toppings to choose from

    • Pepperoni
    • Chilli peppers
    • Pineapple (don't knock it until you've tried it!)

    Customers may choose any combination of toppings or none at all for their pizza. Now consider an algorithm that finds every possible unique combination of toppings. This is an exponential algorithm with time complexity O(2^n).

    Look how the possible combinations grow (exponentially) when you add a new topping to the menu:

    0 toppings: 1 combination (no toppings at all)
    1 toppings: 2 combinations (none, a)
    2 toppings: 4 combinations (none, a, b, ab)
    3 toppings: 8 combinations (none, a, b, c, ab, ac, bc, abc)
    ...
    ...
    10 toppings: 1,024 combinations
    20 toppings: 1,048,576 combinations
    

    So with just 20 types of toppings, there are over 1 million possible combinations!

提交回复
热议问题