二分

1.二分有两种形式:(1)缩小范围时,r=mid,l=mid+1,取中间值,mid=(l+r)/2
(2)缩小范围时,l=mid,r=mid+1,取中间值,mid=(l+r+1)/2
分类必要:如果不对mid加以区分,如(2)也采用mid=(l+r)/2,那么当r-l等于1时,就有mid=(l+r)/2(向下取整)=1.接下来若进入l=mid分支,
则区间不减小,成死循环,若进入r=mid-1分支,则l>r,不能以l=r结束
2.无解情况:mid=(l+r)/2不会取到r值,mid=(l+r+1)/2不会取到1值
可以吧最初的二分区间【1,n】分别扩大为[1,n+1]和[0,n],把a数组的一个越界下标包含进来。如果最后终止与扩大后的这个越界下标上,则说明a中不存在所求的数
3.实数域上的二分:(1)确定精度eps,以l+eps<r为循环条件
(2)有时不容易确定或表示,就干脆循环固定次数的二分方法,这个方法精度通常比eps高
4.三分求单峰函数极值:(1)f(lmid)<f(rmid),极大值点在lmid右侧,可令l=lmid
f(lmid)>f(rmid),极大值点在rmid左侧,可令r=rmid
5.如果函数存在相等的部分,三分法不再适用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值