数据结构与算法—算法
小白笔记与理解,如幸得参考请慎重
基本概念
算法与程序
- 算法:解决特定问题的具体步骤
- 程序:计算机语言的集体实现(在计算机中,程序是便宜好存放再磁盘中的二进制数据)
- 二者的区别:
- 算法:
- 1.不依赖于计算机
- 2.有穷
- 3.可忽略语法细节
- 程序:
- 1.以来于计算机
- 2.可以是无穷的
- 3.遵守对应计算机语言语法
算法的五大特征
- 输入(至少0个)
- 输出(至少1个)
- 有穷性
- 确定性
- 可行性
算法好坏的判定
- 首先正确
- 其次编程方面 - 结构要好
- 易理解、编码和调试
- 效率方面(-时间复杂度 、空间复杂度)
算法效率的度量方法
- 事后统计
-反复执行测试得出 - 事前分析估算(今日重点)
-根据算法中语句执行的最大次数(频度)来估算
事前分析估算
- 时间复杂度T(n)
- 算法执行时间的数量级
1.根据语句频度,写出表达式
2.常数部分变为1
3.保留最高阶,其余舍去
4.将最高阶项系数化为1 - 空间复杂度S(n)
- 计算方法所需要的存储空间的大小