面试时候经常会有算法相关的题目,这里介绍基本的算法时间复杂度O(n)的概念,O(n)代表一个函数如f(n)=n^2就是O(n^2)时间复杂度为n的平方。我们用Python语句来实例讲解。
工具/原料
1
python3
2
Windows电脑
方法/步骤
1
打开Python3的IDLE,新建 时间复杂度.py文件,假设查找两个数a和b,这两个数都不超过1000,且a+b=800,1000010000 and a*b<15000: print (a,b)
2
F5运行程序,打印出正常结果a和b的值。这里用到了两个循环语句,一个a+b加法,两个等号判断,两个乘法及大于小于判断,复杂度为1000*1000*6,适用一般情况,就是n*n*6,用大O表示法,省略系数6,就是O(n^2)
3
换一个更简单方法实现上述功能,代码如下:for a in range(1001): b = 800-a if a*b>10000 and a*b<15000: print (a,b)
4
F5运行程序,打印出正常结果a和b的值。这里仅一个循环语句,就是O(n),时间复杂度明显少于第一种方法。
5
总结一下:简单操作 如print('a')等时间复杂度为1循环结构,时间复杂度按乘法进行计算,如本例中实现的操作分支结构,各分支的时间复杂度取最大值,最多的那个分支当然具体函数的时间复杂也就是上述之和,去除系数如6*n时间复杂度就是O(n)
上一篇:ygopro2怎么换壁纸
下一篇:原神怎么开启飞彩镌流年活动