三分法

190 篇文章 2 订阅
54 篇文章 0 订阅

解释

三分法,顾名思义,通过不断将一串数分为三段后精确范围.
相比于二分法,三分法还能实现对只有一个峰顶的函数的查找,如二次函数.而二分法只能查找单调递增的函数

实现方法

(与二分相似)
设左右端点为l和r,则找两个点(m1=(l+r)/2,m2=(l+r)/4+m1),根据m1,m2的大小来判断峰顶可能的范围,并从而起到精确的作用.
一般情况下,可以确定一个三分法次数,例如50,因为一般这样三分后,进度足够(二分也一样)

以下两种特殊情况用三分法无法精确得求出,故应特殊处理:
对于整数的三分,当l-r较小时,即可停止三分,进行暴力枚举,找到峰顶
对于分段函数,先当作浮点数处理,找到后,再起左右各枚举n个数,n据时间复杂度来定,一般可以为100000.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值