大O表示法(Big O nonation)

Posted lshedward

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大O表示法(Big O nonation)相关的知识,希望对你有一定的参考价值。

大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的阶乘)种排序。

以上是关于大O表示法(Big O nonation)的主要内容,如果未能解决你的问题,请参考以下文章

Big-O 表示法和编码

在树结构的 Big-O 表示法中:为啥有些来源引用 O(logN) 而有些引用 O(h)?

大O符号初学者指南

数据库索引及其 Big-O 表示法

用于迭代列表中步骤的 Big-O 表示法-Python

大O表示法