Python算法详解
上QQ阅读APP看书,第一时间看更新

1.2.1 认识计算机中的算法

计算机中的算法可分为如下两大类。

· 数值运算算法:求解数值。

· 非数值运算算法:事务管理领域。

假设存在如下运算:1×2×3×4×5,为了计算上述运算结果,最普通的做法是按照如下步骤进行计算。

第1步:先计算1乘以2,得到结果2。

第2步:将步骤1得到的乘积2乘以3,计算得到结果6。

第3步:将6再乘以4,计算得24。

第4步:将24再乘以5,计算得120。

最终计算结果是120,上述第1步到第4步的计算过程就是一个算法。如果想用编程的方式来解决上述运算,通常会使用如下算法来实现。

第1步:假设定义t=1。

第2步:令i=2。

第3步:把t×i的乘积仍然放在变量t中,可表示为t×it

第4步:把i的值加1,即i+1→i

第5步:如果i≤5,返回重新执行步骤3以及其后的步骤4和步骤5;否则,算法结束。

由此可见,上述算法方式就是数学中的“n!”公式。既然有了公式,在具体编程的时候,只需要使用这个公式就可以解决上述运算问题。

再看下面的一个数学应用问题。

假设有80个学生,要求打印输出成绩在60分以上的学生。

在此用n表示学生学号,用ni表示第i个学生的学号;用cheng表示学生成绩,用chengi表示第i个学生的成绩。根据题目要求,可以写出如下算法。

第1步:1→i

第2步:如果chengi≥60,则输出ni和chengi,否则不输出。

第3步:i+1→i

第4步:如果i≤80,返回步骤2;否则,结束。

由此可见,算法在计算机中的地位十分重要。所以在面对一个项目应用时,一定不要立即编写程序,而是要仔细思考解决这个问题的算法是什么。想出算法之后,以这个算法为指导思想来编程。