算法算法是指对特定问题求解步骤的一种描述,是指令的有限序列,其中每一条指令表示一个或多个操作,算法有以下几个重要特性。有穷性:一个算法必须总是在执行有穷步骤后结束,且每一步都必须在有穷的世界内完成。可行性:一个算法中所描述的操作,必须可以通过已经实现的基本运算的有限次执行来完成。确定性:算法中的每一条指令必须没有二义性,对相同的输入必须有相同的结果。一个算法有零个或多个输入:这些输入取自某个特定的对象的集合,当用函数来描述算法时,输入往往通过形参表示,在算法被调用时,从主函数获得输入值。一个算法有一个或多个输出:它们是和输入有着某些特定关系的量,通常是对输入进行加工得到的结果,当用函数表示算法时,输出多用返回值或指定类型的形参表示。一个好的算法应满足以下要求:(1)正确性程序不含语法错误程序对于几组给定的输入数据都能得出满足要求的结果程序对于精心选择的、典型的、苛刻的且带有刁难性的几组输入都能得出满足要求的结果程序对于一切合法输入都能得出满足要求的结果。(2)可读性算法主要是为了人的阅读和交流其次才是为了计算执行,因为算法应该易于理解,另外 晦涩难懂的程序易于隐藏较多错误而难于调试。(3)健壮性当输入的数据非法时,算法应恰当的做出反应或进行相应的处理,而不是产生莫名其妙的错误输入,处理错误的方法不应该是中断程序的执行,而应是返回一个表示错误或错误性质的值, 以便在更高的抽象层次进行处理。(4)高效性