大O表示法是用来表示一个算法在最糟糕情况下的运行时间。需要注意的是算法运行时间并不以秒为单位并且是从其增速的角度度量的。
下面是5个常见的大O运行时间
• O(log n), also known as log time. Example: Binary search.
• O(n), also known as linear time. Example: Simple search.
• O(n * log n). Example: A fast sorting algorithm, like quicksort.
• O(n 2 ). Example: A slow sorting algorithm, like selection sort.
• O(n!). Example: A really slow algorithm, like the traveling salesperson.
5种表示法由快到慢表示
旅行商,什么算法会用到O(n!)
有一个旅行商打算去5个城市旅游,他想走最短的距离,因此就要考虑去这些城市的各种可能顺序。那么5个城市就有5*4*3*2*1=120种不同的排序方式,那么6个城市呢?720次!7个呢?5040次!涉及n个城市就需要n!(n的阶乘)种排序。