一、算法理论的两大论题:算法设计、算法分析
1. 算法设计---对于一个问题如何设计一个有效的算法
2. 算法分析---如何评价或判断一个算法的优劣
二、为什么要学习算法
理由1:算法——程序的灵魂
问题的求解过程:
分析问题→设计算法→编写程序→整理结果
程序设计研究的四个层次:
算法→方法学→语言→工具
理由2:提高分析问题的能力
算法的形式化→思维的逻辑性、条理性
三、算法五大特性:输入、输出、有穷性、确定性、可行性
四、算法的几种描述方法:
⑴ 自然语言
优点:容易理解
缺点:冗长、二义性
使用方法:粗线条描述算法思想
注意事项:避免写成自然段
⑵ 流程图
优点:流程直观
缺点:缺少严密性、灵活性
使用方法:描述简单算法
注意事项:注意抽象层次
⑶ 程序设计语言
优点:能由计算机执行