算法时间复杂度分析

算法的时间复杂度通过渐近时间复杂度表示,如O(f(n)),用来衡量问题规模n时算法执行的基本操作次数。常见的时间复杂度阶有O(1)、O(n)、O(㏒n)和O(n㏒n)。例如,一个含有条件判断(i++,条件为n% i != 0 && i*1.0 < sqrt(n))的算法,其时间复杂度为O(n1/2)。

算法中基本操作重复执行的次数是问题规模n的某
个函数,其时间量度记作 T(n)=O(f(n)),称作算法的
渐近时间复杂度(Asymptotic Time complexity),简
称时间复杂度。一般地,常用最深层循环内的语句中的原操作的执
行频度(重复执行的次数)来表示。
“O”的定义: 若f(n)是正整数n的一个函数,则 O(f(n))
表示: 存在 M≥0 ,使得当n ≥ n0时,| f(n) | ≤ M | f(n0) | 。
表示时间复杂度的阶有:
O(1) :常量时间阶 O (n):线性时间阶
O(㏒n) :对数时间阶 O(n㏒n) :线性对数时间阶

举个简单的例子:

for(i=1i<=n; ++i)
for(j=1; j<=n; ++j)
{ c[i][j]=0 ;
for(k=1; k<=n; ++k)
c[i][j]+=a[i][k]*b[k][j] ; }
由于是一个三重循环,每个循环从
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值