般说来,在数值算法中主要进行算术运算,而在非数值算法中 主要进行比较和逻辑运算。另一方面,特定的问题可能是递归的, 也可能是非递归的,因而解决它们的算法就有递归算法和非递归 算法之分。从理论上讲,任何递归算法都可以通过循环,堆栈等 技术转化为非递归算法。 下一顶
返回本章首页 下一页 上一页 • 一般说来,在数值算法中主要进行算术运算,而在非数值算法中 主要进行比较和逻辑运算。另一方面,特定的问题可能是递归的, 也可能是非递归的,因而解决它们的算法就有递归算法和非递归 算法之分。从理论上讲,任何递归算法都可以通过循环,堆栈等 技术转化为非递归算法
2、算法的特点 算法是执行特定计算的有穷过程。这个过程有5个特点 1动态有穷:当执行一个算法时,不论是何种情况,在经过了 有限步骤后,这个算法一定要终止。 2.确定性:算法中的每条指令都必须是清楚的,指令无二义性 3输入:具有0个或0个以上由外界提供的量。 4输出:产生1个或多个结果。 5可行性:每条指令都充分基本,原则上可由人仅用笔和纸在 有限的时间内也能完成 注意:算法和程序是有区别的,即程序未必能满足动态有穷。在一 书中,我们只讨论满足动态有穷的程序,因此“算法”和 “程序” 是通用的。 下一顶
返回本章首页 下一页 上一页 2、 算法的特点 算法是执行特定计算的有穷过程。这个过程有5个特点: 1.动态有穷:当执行一个算法时,不论是何种情况,在经过了 有限步骤后,这个算法一定要终止。 2.确定性:算法中的每条指令都必须是清楚的,指令无二义性。 3.输入:具有0个或0个以上由外界提供的量。 4.输出:产生1个或多个结果。 5.可行性:每条指令都充分基本,原则上可由人仅用笔和纸在 有限的时间内也能完成。 注意:算法和程序是有区别的,即程序未必能满足动态有穷。在本 书中,我们只讨论满足动态有穷的程序,因此“算法”和 “程序” 是通用的