与二分查找类似的三分搜索

原理什么的都是相同的,三分搜索也是基于分治思想的查找算法。
但是我们仔细想想二分查找,是不是只适合单调函数。
而三分搜索可以用于凸函数和凹函数。
三分搜索同样有left和right,但是中点不再是一个mid,而是两个
midl=(left+right)/2; midr=(midl+right)/2;
因此可以判断出两个中点相对于函数极值的位置
懒得画图了,直接拿网上的一个图来解释一下。这里写图片描述
我的理解是当要求一个凸函数或者凹函数的极值时,可以使用三分搜索。

下面是三分搜索的模板
这里写图片描述

下面是一个三分的例题。
这里写图片描述

ac代码:
这里写图片描述

还是模板题

要掌握还是要多加练习,模板题只是入个门。
二分三分也经常是用来结合别的算法一起解题。

//人一我十,人十我百。

猜你喜欢

转载自blog.csdn.net/qq_39936389/article/details/82585823