位置: 编程技术 - 正文

python算法表示概念扫盲教程(python算法具有哪五个性质)

编辑:rootadmin

推荐整理分享python算法表示概念扫盲教程(python算法具有哪五个性质),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python算法的描述方法,python里的算法,python算法有哪几种算法,python中算法的定义,python的算法描述,python中算法的定义,python算法有哪几种算法,python中算法的定义,内容如对您有帮助,希望把文章链接给更多的朋友!

本文为大家讲解了python算法表示概念,供大家参考,具体内容如下

常数阶O(1)

常数又称定数,是指一个数值不变的常量,与之相反的是变量

为什么下面算法的时间复杂度不是O(3),而是O(1)。

这个算法的运行次数函数是f(n)=3。根据我们推导大O阶的方法,第一步就是把常数项3改为1。在保留最高阶项时发现,它根本没有最高阶项,所以这个算法的时间复杂度为O(1)。

另外,我们试想一下,如果这个算法当中的语句sum=(1+n)*n/2有句,即:

事实上无论n为多少,上面的两段代码就是3次和次执行的差异。这种与问题的大小无关(n的多少),执行时间恒定的算法,我们称之为具有O(1)的时间复杂度,又叫常数阶。

注意:不管这个常数是多少,我们都记作O(1),而不能是O(3)、O()等其他任何数字,这是初学者常常犯的错误。

推导大O阶方法

1.用常数1取代运行时间中的所有加法常数

2.在修改后的运行次数函数中,只保留最高阶项

3.如果最高阶项存在且不是1,则去除与这个项相乘的常数

对数阶O(log2n) 

python算法表示概念扫盲教程(python算法具有哪五个性质)

对数

如果a的x次方等于N(a>0,且a不等于1),那么数x叫做以a为底N的对数(logarithm),记作x=logaN, 。其中,a叫做对数的底数,N叫做真数。5^2 = , 记作 2= log5 对数是一种运算,与指数是互逆的运算。例如

① 3^2=9 <==> 2=log<3>9;

② 4^(3/2)=8 <==> 3/2=log<4>8;

③ ^n= <==> n=lg。为了使用方便,人们逐渐把以为底的常用对数记作lgN

对数阶

由于每次count乘以2之后,就距离n更近了一分。

也就是说,有多少个2相乘后大于n,则会退出循环。

由2^x=n得到x=log2n。所以这个循环的时间复杂度为O(logn)。

线性阶O(n)  

执行时间随问题规模增长呈正比例增长

线性对数阶O(nlog2n)

平方阶O(n^2)

立方阶O(n^3)k次方阶O(n^k),指数阶O(2^n)。

随着问题规模n的不断增大,上述时间复杂度不断增大,算法的执行效率越低。  

本文链接地址:https://www.jiuchutong.com/biancheng/375510.html 转载请保留说明!

上一篇:Python常用算法学习基础教程(python常见算法)

下一篇:Python 中 list 的各项操作技巧(python中list的用法例子)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络