算法理论的两大论题:
1. 算法设计---对于一个问题如何设计一个有效的算法
2. 算法分析---如何评价或判断一个算法的优劣
算法(Algorithm):对特定问题求解步骤的一种描述,是指令的有限序列。
算法的五大特性:
⑴ 输入:一个算法有零个或多个输入。
⑵ 输出:一个算法有一个或多个输出。
⑶ 有穷性:一个算法必须总是在执行有穷步之后结束,且每一步都在有穷时间内完成。
⑷ 确定性:算法中的每一条指令必须有确切的含义,对于相同的输入只能得到相同的输出。
⑸ 可行性:算法描述的操作可以通过已经实现的基本操作执行有限次来实现。
算法分析:对算法所需要的两种计算机资源——时间和空间进行估算
- 时间复杂性
- 空间复杂性