时间复杂度和大O表示法

Posted 草木物语

tags:

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

 

大O表示法:称一个函数g(n)是O(f(n)),当且仅当存在常数c>0和n0>=1,对一切n>n0均有|g(n)|<=c|f(n)|成立,也称函数g(n)以f(n)为界或者称g(n)受限于f(n)。记作g(n)=O(f(n))。 定义:如果一个问题的规模是n,解这一问题的某一算法所需要的时间为T(n),它是n的某一函数。T(n)称为这一算法的“时间复杂度”。当输入量n逐渐加大时,时间复杂度的极限情形称为算法的“渐近时间复杂度”。

 

 一些常见的大O运行时间
?O(logn),也叫对数时间,这样的算法包括二分查找。
?O(n),也叫线性时间,这样的算法包括简单查找。
?O(n*logn),这样的算法包括第4章将介绍的快速排序——一种速度较快的排序算法。
?O(n2),这样的算法包括第2章将介绍的选择排序——一种速度较慢的排序算法。
?O(n!),这样的算法包括接下来将介绍的旅行商问题的解决方案——一种非常慢的算法。

 技术分享图片

 








以上是关于时间复杂度和大O表示法的主要内容,如果未能解决你的问题,请参考以下文章

一文彻底掌握时间复杂度和大O表示法(整理)

算法——算法时间复杂度的计算和大O阶的推导

这个算法的时间复杂度是多少

1. 时间复杂度(大O表示法)以及使用python实现栈

分析下面的代码的时间复杂度,使用大O阶记法表示

被调用函数的大 O 表示法的时间复杂度