一.算法
算法是为了解决某类问题而规定的一个有限长的操作序列。一个算法必须满足一下五个重要特性:
- 有穷性 算法的每个步骤都能在有限时间内完成
- 确定性 对于每种情况下所应执行的操作,在算法中都有明确的规定
- 可行性 算法中的所有操作都必须足够基本,都可以通过已经实现的基本操作运算有限次实现
- 有输入 作为算法加工对象的量值,通常体现为算法中的一组变量
- 有输出 一组与"输入"有确定关系的量值,是算法进行信息加工后得到的结果
二.算法设计的原则
设计算法时,通常应考虑以下目标:
- 正确性
- 可读性
- 健壮性
- 高效率与低存储量需求(高效性)
三.算法效率的衡量方法和准则
1.通常有两种衡量算法效率的方法:
1)事后统计法
缺点:1.必须执行程序
2.其他因素掩盖算法本质
2)事前分析估算法
2.和算法执行时间