算法的时间复杂度O(n)如何计算

2025-04-24 18:56:30

1、打开Python3的IDLE,新建 时间翱务校肢复杂度.py文件,假设查找两个数a和b,这两个数都不超过1000,且a+b=800,10000<a*b<100000。对应算法可以如下设计:for a in range(1001): for b in range(1001): if a+b==800 and a*b>10000 and a*b<15000: print (a,b)

算法的时间复杂度O(n)如何计算

2、F5运行程序,打印出正常结果a和b的值。这里用到了两个循环语句,一个a+b加法,两个等号判断,两个乘法及大于小于判断,复杂度为1000*1000*6,适用一般情况,就是n*n*6,用大O表示法,省略系数6,就是O(n^2)

算法的时间复杂度O(n)如何计算

3、换一个更简单方法实现上述功能,代码如下:for a in range(1001): b = 800-a if a*b>10000 and a*b<15000: print (a,b)

算法的时间复杂度O(n)如何计算

4、F5运行程序,打印出正常结果a和b的值。这里仅一个循环语句,就是O(n),时间复杂度明显少于第一种方法。

算法的时间复杂度O(n)如何计算

5、总结一下:简单操作 如print('a')等时间复杂度为1循环结构,时间复杂度按乘法进行计算,如本例中实现的操作分支结籁缰汾秘构,各分支的时间复杂度取最大值,最多的那个分支当然具体函数的时间复杂也就是上述之和,去除系数如6*n时间复杂度就是O(n)

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢