内容正文:
第五章 数据结构与算法
选修1《数据与数据结构》
5.2 迭代与递归
学习目标
迭代与递归
迭代
递归
迭代
迭代是重复反馈的过程,其目的通常是为了接近并达到所需的目标或结果。每一次对过程的重复被称为一次迭代,而每一次迭代得到的结果会被用来作为下一次迭代的初始值。
·迭代的概念
·迭代的特性
迭代算法是用计算机解决问题的一种基本方法,它利用计算机运算速度快、适合做重复性操作的特点,让计算机重复执行一组指令(或一定步骤),这组指令(或这些步骤)每执行一次,都会将变量从原值推出一个新值。
迭代与递归
迭代
利用迭代算法解决问题,需要做好三个方面:
·迭代算法的设计方法
·确定迭代变量
在能够用迭代算法处理问题中,至少具有一个直接或间接地不断有旧值推出新值的变量,这个变量就是迭代变量。
·建立迭代关系式
所谓迭代关系式,指如何从变量的前一个值推出下一个值的公式(或关系)。
·控制迭代过程
迭代过程在经过若干次重复执行以后要能结束,因此,要设定迭代结束的条件。
迭代与递归
迭代
迭代变量赋初值
while ( 迭代终止条件):
根据迭代表达式,由旧值计算出新值
新值取代旧值,为下一次迭代做准备
·迭代的基本格式
·实例1 (确定循环次数)
已知a_n = a_1 + 2( n - 1 );a_1 = 3,求等差数列s_n的值
迭代与递归
a = 3; s = 0
n = int(input("请输入第几项(n的值):"))
for i in range(1, n + 1):
a = 3 + (i - 1) * 2
s = s + a
print(s)
确认循环次数
迭代
·实例2 (不能确定循环次数)
求s的值,s = 1 + 0.1 + 0.01 + 0.001 + 0.0001 + ...
迭代与递归
a = 1
s = 0
while a > 0.00000000001:
s = s + a
a = a / 10
p