一.定义
算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或者多个操作
二.算法的特性
1.输入输出
算法有0个或者多个输入,至少有一个或者多个输出
2.有穷性
算法不会出现无限循环
3.确定性
算法的每一步都具有确定的含义,不会出现二义性
4.可行性
算法的每一步都必须是可行的也就是说通过执行有限的次数完成
三.算法的设计要求
1.正确性
算法的正确性是指算法至少应该具有输入,输出和加工处理无歧义性,能正确反映问题的需求,能够正确得到问题的答案
2.可读性
算法设计的另一目的是为了方便阅读理解和交流
3.健壮性
当输入数据不合法的时候,算法也能做出相关处理,而不是产生异常或者莫名奇妙的结构
4.时间效率高存储量低
四.算法的空间复杂度和时间复杂度
推导大O阶方法