算法 算法的非形式化定义:算法是规则的有限集合,是为了解决特定问题而规定的一系列操作。算法的特性:有限性、确定性、可行性、输入(有0个或多个)、输出(有1个或多个)。算法的描述如下图所示: 算法与程序的区别: 1.算法描述了问题处理的方式或步骤,程序是采用具体语言规则实现了算法的功能。 2.算法要依靠程序来完成功能,算法是程序的灵魂。 3.程序不一定满足有穷性,可直接在机器环境下运行。算法的描述方式:自然语言、框图(流程图)、高级语言、类语言。算法是问题的程序化解决方案,其求解问题的一般步骤:明确问题性质并分析需求----建立问题的描述模型----选择解决方法----设计处理算法----程序化----算法分析算法分析的准则:正确性、可读性、健壮性、高效率和低存储量。算法设计示例----计算最大公约数: //1.欧几里得法 static int max_child(int m, int n){ int r = 0; while(n!=0){ r = m%n; m = n; n = r; } return m; } //2.连续整数检测法 static int max_child(int m, int n){ int t = Math.min(m, n); while(t != 0){ while(m%t != 0){ t = t-1; } if(n%t == 0){ return t; } else{ t = t-1; } } return t; }