算法效率的度量(只关注事前分析估算法)
我们在估算时,要抛开计算机硬件软件有关因素,只依赖于问题的规模(用整数量n表示),也就是说这个复杂度是一个函数。
一个算法是由控制结构(顺序,分支,循环)和原操作(指固有数据类型的操作)构成的,算法时间取决于两者的综合效果。
要比较同一问题的综合算法,就要选取一种对于所研究问题来说是基本操作的原操作进行比较
时间复杂度和空间复杂度
对于计算机而言,运算加减法最为方便
分析算法时:我们只关注 最坏情况复杂度以及平均复杂度
其中最坏情况复杂度最具代表性
复杂度的渐进表示法
掌握算法的上界 大O,下界 大欧米噶
本节重点
复杂度计算法则:
- 若两个算法分别有复杂度T1=Of1 ,T2=Of2
若两个算法拼接在一起,T1+T2=max{f1,f2}
若两个算法镶嵌在一起,T1×T2=f1×f2 - 若T是关于n的k阶多项式时,T=O(N的n次方)
- 一个for循环的复杂度:循环次数×循环体代码的复杂度
- If-else 结构复杂度取决于if的条件判断复杂度和两个分支部分的复杂度,总体复杂度取三者最大
(感觉自己菜的安详,不想学习还不想玩游戏???
来源:CSDN
作者:又是一个新的人类?
链接:https://blog.csdn.net/weixin_45704695/article/details/104118873