1.第一节课
算法的五个特性
算法设计要求
正确性
可读性
健壮性
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SEvHMoDJ-1657527391635)(
高效性
要求花费尽量少的时间和储存空间
算法分析
时间复杂度
-
事前分析
//对算法所消耗资源的一种估算方法
-
事后统计
2.第二节课
求渐进时间复杂度的定理:
- 找出语句频率最大的那句语句就是基本语句
- 计算基本语句的频度得到问题规模n的某个函数f(n)
- 取得数量级用"O"来表示
例题
3.第三节课
注意:有的情况下,算法中基本操作重复执行的次数还随问题的输入数据集不同而不同。
对于复杂的算法
算法效率的比较
空间复杂度
例子
第一个算法:S(n) = O(1) 第二个算法:S(n) = O(n)
第二个算法明显有浪费空间费空间
设计号算法的过程
抽象数据类型:数据的逻辑结构+抽象运算(运算的功能描述)