1.算法定义
算法是一组有穷的规则,它规定了解决某一特定类型问题的一系列计算方法
2.算法的五个特性
确定性:无二义性
能行性:算法中的运算都是基本的运算(每种运算有限时间内可以完成)
输入:0个或多个输入
输出:一个或多个输出
有限性:执行有限步之后就停止
3.算法的基本内容
1.设计算法
2.表示算法
3.确认算法:证明算法对于所有可能的合法输入都可以给出正确的答案
4.分析算法:时间空间复杂度
5.测试程序:调试程序+作时空分布图
时空分布图:使用各种给定的数据执行程序,测定时间和空间,以印证所作的算法分析是否正确
按时间复杂度分类的两种算法
多项式时间算法
指数时间算法
评价一个算法应从哪几个方面考虑?
评价一个算法应从事前分析和事后测试这两个阶段进行,事前分析主要应从时间复杂度和空间复杂度这两个维度进行分析; 事后测试主要应对所评价的算法作时空性能分布图。