算法定义:算法是描述解决问题的方法。
算法特性:算法具有五个特性。输入、输出、有穷性、确定性、可行性。
输入输出 算法有零个或多个输入,有一个或多个输出。
有穷性
算法的又穷性是指算法在执行有限步骤后会自动结束而不会无限循环,并且每一个步骤都在可接收时间范围内完成。
确定性
算法的每一步骤都有具体确定的含义,不会出现二义性。算法在一定的条件下只有一条执行路径,相同的输入只能有 唯一的输出结果。
可行性 算法的每一步都是可行的。每一步都能通过执行有限次数完成。
算法设计要求:
正确性
算法的正确性大体分一下四个层次:
a. 算法程序没有语法错误
b. 算法程序对合法的输入数据能产生满足要求的输出结果。
c. 算法程序对于非法的输入数据能产生满足规格说明的结果。
d. 算法程序对于精心选择的甚至是刁难的测试数据都有满足要求的输出结果。
可读性
算法设计的另一目的就是为了便于理解、阅读、交流。
健壮性 当输入数据不合法时,算法也能做出相关的处理,而不是产生异常或莫名奇妙的结果。
时间效率高和存储量低 执行时间断,占用内存小。