本系列是我在学习《基于Python的数据结构》时候的笔记。本小节主要介绍一些常见的时间复杂度以及它们之间的大小关系。
一
最常见的时间复杂度
上面表格中分为三列:
下面以执行基本操作总数3n^2 + 2n + 1,即F(n) = 3n^2 + 2n + 1为例,来详细说明一下计算时间复杂度的大致过程。其实要想求时间复杂度只需要记住上一小节提到的6个基本计算规则即可:
1-4是用于计算算法的总的基本操作说F(n),5,6是求解时间复杂度相关的计算规则。
此时已知了基本操作总数F(n),因此1-4条基本计算规则用不到了。3n^2 + 2n + 1按照5的计算规则,只关心基本操作数的最高次项,去掉其他次要项以及常数项,因为我们只关心数量级和趋势,可以看出3n^2 + 2n + 1的趋势是有n^2所主导的,所以把n作为次要项,然后去掉其余的常数项,最终得到的g(n) = n^2,时间复杂度T(n) = O(g(n)) = O(n^2)。
二
常见时间复杂度之间大小关系
根据上图可以看出这些常见时间复杂度的大小关系,需要记住下面的大小关系:
下面简单举几个例子,左边部分是O里面是算法执行的总的基本操作数,通过大O记法变成右边时间复杂度的形式。
根据常见时间复杂度的大小关系可以得出上面4个时间复杂度所耗时间大小关系:O(n^3) > O(n^2) > O(n) > O(1),也就是算法的效率。
本文分享自 AI机器学习与深度学习算法 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!