问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何计算时间复杂度

发布网友 发布时间:2022-03-23 17:09

我来回答

2个回答

热心网友 时间:2022-03-23 18:39

1、先找出算法的基本操作,然后根据相应的各语句确定它的执行次数,再找出T(n)的同数量级(它的同数量级有以下:1,Log2n ,n ,nLog2n ,n的平方,n的三次方,2的n次方,n!),找出后,f(n)=该数量级,若T(n)/f(n)求极限可得到一常数c,则时间复杂度T(n)=O(f(n))。

2、举例

for(i=1;i<=n;++i)

{ for(j=1;j<=n;++j) 

{ c[ i ][ j ]=0; //该步骤属于基本操作 执行次数:n的平方次

for(k=1;k<=n;++k)

c[ i ][ j ]+=a[ i ][ k ]*b[ k ][ j ]; //该步骤属于基本操作 执行次数:n的三次方次 } }

则有 T(n)= n的平方+n的三次方,根据上面括号里的同数量级,我们可以确定 n的三次方为T(n)的同数量级

则有f(n)= n的三次方,然后根据T(n)/f(n)求极限可得到常数c

则该算法的 时间复杂度:T(n)=O(n的三次方)

扩展资料

分类

按数量级递增排列,常见的时间复杂度有:常数阶O(1),对数阶O(  ),线性阶O(n),线性对数阶O(nlog2n),平方阶O(n^2),立方阶O(n^3),...,

k次方阶O(n^k),指数阶O(2^n)。随着问题规模n的不断增大,上述时间复杂度不断增大,算法的执行效率越低。

关于对其的理解

《数据结构(C语言版)》 ------严蔚敏 吴伟民编著 第15页有句话“整个算法的执行时间与基本操作重复执行的次数成正比。”

基本操作重复执行的次数是问题规模n的某个函数f(n),于是算法的时间量度可以记为:T(n) = O(f(n))

如果按照这么推断,T(n)应该表示的是算法的时间量度,也就是算法执行的时间。

而该页对“语句频度”也有定义:指的是该语句重复执行的次数。

如果是基本操作所在语句重复执行的次数,那么就该是f(n)。

上边的n都表示的问题规模。

参考资料:百度百科-时间复杂度



热心网友 时间:2022-03-23 19:57

计算方法
1. 一般情况下,算法的基本操作重复执行的次数是模块n的某一个函数f(n),因此,算法的时间复杂度记做:T(n)=O(f(n))
分析:随着模块n的增大,算法执行的时间的增长率和 f(n) 的增长率成正比,所以 f(n) 越小,算法的时间复杂度越低,算法的效率越高。
2. 在计算时间复杂度的时候,先找出算法的基本操作,然后根据相应的各语句确定它的执行次数,再找出 T(n) 的同数量级(它的同数量级有以下:1,log(2)n,n,n log(2)n ,n的平方,n的三次方,2的n次方,n!),找出后,f(n) = 该数量级,若 T(n)/f(n) 求极限可得到一常数c,则时间复杂度T(n) = O(f(n))
例:算法:

1
2
3
4
5
6
7
8
9

for(i=1;i<=n;++i)
{
for(j=1;j<=n;++j)
{
c[i][j]=0;//该步骤属于基本操作执行次数:n的平方次
for(k=1;k<=n;++k)
c[i][j]+=a[i][k]*b[k][j];//该步骤属于基本操作执行次数:n的三次方次
}
}

则有 T(n) = n 的平方+n的三次方,根据上面括号里的同数量级,我们可以确定 n的三次方 为T(n)的同数量级
则有 f(n) = n的三次方,然后根据 T(n)/f(n) 求极限可得到常数c
则该算法的时间复杂度:T(n) = O(n^3) 注:n^3即是n的3次方。
3.在pascal中比较容易理解,容易计算的方法是:看看有几重for循环,只有一重则时间复杂度为O(n),二重则为O(n^2),依此类推,如果有二分则为O(logn),二分例如快速幂、二分查找,如果一个for循环套一个二分,那么时间复杂度则为O(nlogn)。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 水多久能结冰 冰能在多长时间内形成 请问水低于0度会结冰吗? 如何防止脱发严重 嘴唇上有黑印用蜜蜡和棉线去除了胡须 算法时间复杂度是多少? 算法的时间复杂度 算法时间复杂度怎么算 算法的时间复杂性是指( )。 算法的时间复杂度取决于什么? 算法复杂度的时间复杂度 算法的时间复杂度取决于什么? 算法的时间复杂度是什么? 数据结构 算法时间复杂度定义 什么是时间复杂度、空间复杂度? 算法的时间复杂度是指 时间复杂度的定义 什么是算法的时间复杂度 什么是算法的时间复杂度? 算法时间复杂度指的是什么? 算法的时间复杂度定义 HUAWEI MateBook,请问国内版和国外版有哪些区别? 为什么国外的华为手机比国内便宜? 华为手表Watch3pr0国内饭与国外版的差别 HUAWEI&nbsp;MateBook,请问国内版和国外版有哪些区别? c语言中,时间复杂度函数怎么定义 知乎怎么隐藏个人回答 知乎文章怎么设置自己可见 知乎如何隐藏个人动态? 知乎如何不让别人看我的主页 知乎怎么设置不让别人看我的动态 知乎里如何设置看不见我关注了谁 知乎如何设置只看免费文章 知乎能不能隐藏自己动态,老是有喷子跑去翻我贴子了解我隐私然后攻击我? 知乎上的浏览记录怎么不被他人看到 知乎如何设置不允许评论 知乎如何设置不允许回复 官方如何回应知乎隐私政策? 如何让知乎不要发短信 最近微信头像上的这种蓝色圆圈是什么 微信头像有个蓝色小圈圈是啥意思 微信头像右上角有蓝色圈代表什么? 微信7.0版头像右上角小蓝圈什么意思 打开微信看到一朋友微信头像右上角有个蓝色圆圈是什么呀 微信头像右上角那个小蓝圈是啥意思?