20201003008陆启康算法第一次上机实验报告

实验报告题目

7-2 二分法求函数的零点

题目概述

  • 有函数:f(x)=x5−15x4+85x3−225x2+274x−121 已知f(1.5)>0,f(2.4)<0 且方程f(x)=0 在区间[1.5,2.4] 有且只有一个根,请用二分法求出该根。 提示:判断函数是否为0,使用表达式 fabs(f(x)) < 1e-7

 

  题目分析:

在函数f(x)中的一个范围中求解,要求用二分法逼近零点,误差控制在1e-7之内。

算法描述:

已知该函数在该区间上单调递减,我们可以以浮点二分法无限逼近零点:

(1)fmid> 0时,证明此时mid在零点的左侧,此时若未达到误差标准,继续二分——即:left=mid,继续递归;当达到误差标准——即(right-left<1e-7,可以输出结果mid

2)当fmid> 0时,证明此时mid在零点的右侧,此时若未达到误差标准,继续二分——即:right=mid,继续递归;当达到误差标准——即(right-left<1e-7,可以输出结果mid

 

算法时间即空间复杂度分析

时间复杂度:

题目中直接给出具体的x的取值范围,所以时间复杂度O(1);

但如果给出了数组长度n,则为O(logn): 

空间复杂度:O(1);

 

心得体会:

无论做什么事情,与他人合作永远比自己单打独斗效率要高得多,在这个时代,团队协作的能力非常重要。

 

分治法个人体会:

做了这道题加深了我对二分法的印象,意识到解决很多问题,二分法都是一个很好的,低耗时,低空间的算法。

posted @ 2021-10-07 17:14  我不要摆烂  阅读(40)  评论(0编辑  收藏  举报