一,算法
要理解算法是什么,先从一些不是算法的内容来开始也许会有所帮助。当你学习个位数乘法的时候,你可能要背下来整个乘法表。实际上你记住了100个特定的算式。这种知识就不是算法。
但如果你很懒,你就可能需要一些小技巧。比如找到一个n与9的乘积,你可以把n-1写成 第一位,10-n写成第二位。这个技巧是应对任何个位数字乘以9的算式。这就是一个算法了!
类似地,你学过的进位的加法,借位的减法,以及长除法,都是算法。
这些算法的一个共同特点就是不需要任何智力就能进行,它们都是机械的过程,每一步都跟随上一步,遵循着很简单的一套规则。
有的事情人们平时做起来很简单,甚至都不用思考,这些事情往往最难用算法来表达,因为没有规律可循,不是机械式的执行,比如理解自然语言就是个例子。
二,迭代术语列表
再赋值: 对一个已经存在的有值变量赋予一个新的值。
更新: 根据一个变量的旧值,进行一定的修改,再赋值给这个变量。
初始化: 给一个变量初始值,以便于后续进行更新。
递增: 每次给一个变量增加一定的值(一般是加1)
递减: 每次给一个变量减去一定的值(一般是减1)。
迭代: 重复执行一系列语句,使用递归函数调用的方式,或者循环的方式。
无限循环: 终止条件永远无法满足的循环。
算法: 解决某一类问题的一系列通用的步骤。