(一)学习须知
算法是什么:
算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。
也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。
一个算法的优劣可以用空间复杂度与时间复杂度来衡量。
为什么学习算法:
1.算法——程序的灵魂
问题的求解过程:
分析问题→设计算法→编写程序→整理结果
程序设计研究的四个层次:
算法→方法学→语言→工具
2.提高分析问题的能力
算法的形式化→思维的逻辑性、条理性
算法的五大特征
1.输入 2.输出 3.有穷性4.确定性5.可行性
渐进符号
- 大O符号
若存在两个正的常数c和n0,对于任意n≥n0,都有T(n)≤c×f(n),则称T(n)=O(f(n)),或称算法在O(f(n)中。 - 大Ω符号
定义1.2 若存在两个正的常数c和n0,对于任意n≥n0,都有T(n)≥c×g(n),则称T(n)=Ω(g(n)) - Θ符号
定义1.3 若存在三个正的常数c1、c2和n0,对于任意n≥n0都有c1×f(n)≥T(n)≥c2×f(n),则称T(n)=Θ(f(n))
算法设计的一般过程
1.理解问题
2&#