什么是迭代法
迭代法,简单来说,其实就是不断地用旧的变量值,递推计算新的变量值。迭代法的思想很容易通过计算机语言中的循环语言来实现。我们可以通过循环语句,让计算机重复执行迭代中的递推步骤,推导出变量的最终值。
基本步骤
确定用于迭代的变量。
建立迭代变量之间的递推关系
控制迭代的过程
迭代法的具体应用
import math# delta_threshold 控制解的精度# max_try 控制循环的次数def get_square_root(number, delta_threshold=0.000001, max_try=10000):if number <= 1:return -1min = 1max = numberfor i in range(max_try):middle = (min + max) / 2square = middle * middledelta = math.fabs(square / number - 1)if (delta <= delta_threshold):return round(middle, 2)elif square > number :max = middleelse:min = middlereturn -2
查找匹配记录
二分法中的迭代式逼近,可以帮助我们查找匹配的记录
# 二分查找def search(dictionary, word):if dictionary is None:return Falseif len(dictionary) == 0:return Falseleft, right = 0, len(dictionary) - 1while(left <= right):middle = int((left + right ) / 2)if dictionary[middle] == word:return middleelif dictionary[middle] > word:right = middle - 1else:left = middle + 1return False
