算法第四版入门:牛顿迭代法

来源:互联网 发布:php记事源码 编辑:程序博客网 时间:2024/05/18 23:16

最近刚开始学习橙书算法第四版,在看入门基础的时候有个表1.1.5 典型静态方法的实现,里面有一个计算平方根的方法,使用的是牛顿迭代法,刚开始对里面的算法不是很明白。

查找了一些资料后弄懂了,记下来备用吧。


牛顿迭代法

先甩一个链接,用图的方法来解释相当的简洁易懂:如何通俗易懂地讲解牛顿迭代法求开方

看完文章基本就明白了牛顿迭代法是怎么回事。

算法第四版给的代码:

public static double sqrt(double c)  {      if(c < 0)      {          return Double.NaN;      }      double err = 1e-15;      double t = c;      while(Math.abs(t - c/t) > err*t)      {          t = (c/t + t)/2.0      }      return t;     }   
看懂了牛顿迭代法的原理,很容易写出while循环的判定条件。如图所示:


原创粉丝点击