初识算法

末鹿安然 提交于 2020-01-30 22:31:53

算法效率的度量(只关注事前分析估算法)

我们在估算时,要抛开计算机硬件软件有关因素,只依赖于问题的规模(用整数量n表示),也就是说这个复杂度是一个函数。

一个算法是由控制结构(顺序,分支,循环)和原操作(指固有数据类型的操作)构成的,算法时间取决于两者的综合效果。

要比较同一问题的综合算法,就要选取一种对于所研究问题来说是基本操作的原操作进行比较

时间复杂度和空间复杂度
对于计算机而言,运算加减法最为方便

分析算法时:我们只关注 最坏情况复杂度以及平均复杂度
其中最坏情况复杂度最具代表性

复杂度的渐进表示法

掌握算法的上界 大O,下界 大欧米噶

本节重点

复杂度计算法则:

  1. 若两个算法分别有复杂度T1=Of1 ,T2=Of2
    若两个算法拼接在一起,T1+T2=max{f1,f2}
    若两个算法镶嵌在一起,T1×T2=f1×f2
  2. 若T是关于n的k阶多项式时,T=O(N的n次方)
  3. 一个for循环的复杂度:循环次数×循环体代码的复杂度
  4. If-else 结构复杂度取决于if的条件判断复杂度和两个分支部分的复杂度,总体复杂度取三者最大

(感觉自己菜的安详,不想学习还不想玩游戏???

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!