二分法算法(水平等分图形面积)

二分法原理其实很像猜数字游戏:你知道答案在0到100之间,每次猜中间数,根据"大了"还是"小了"不断缩小范围,直到逼近正确答案。

二分法流程:

三、手算二分法全过程(迭代8次)

初始区间 :最低点 low=0,最高点 high=4。

目标值:Starget=2.6667

迭代次数 low (下限) high (上限) mid = (low+high)/2 手算 A(mid) 公式代入 A(mid) 数值 比目标大/小? 调整区间
1 0 4 2 8−(4−2)2/2=8−2 6.0000 6 > 2.67(太大了) 把上限降到 2
2 0 2 1 8−(4−1)2/2=8−4.5 3.5000 3.5 > 2.67(还大) 把上限降到 1
3 0 1 0.5 8−(3.5)2/2=8−6.125 1.8750 1.875 < 2.67(太小) 把下限升到 0.5
4 0.5 1 0.75 8−(3.25)2/2=8−5.28125 2.7188 2.7188 > 2.67(略大) 把上限降到 0.75
5 0.5 0.75 0.625 8−(3.375)2/2=8−5.6953 2.3047 2.3047 < 2.67(略小) 把下限升到 0.625
6 0.625 0.75 0.6875 8−(3.3125)2/2=8−5.4863 2.5137 2.5137 < 2.67(还小) 把下限升到 0.6875
7 0.6875 0.75 0.71875 8−(3.28125)2/2=8−5.3833 2.6167 2.6167 < 2.67(接近了) 把下限升到 0.71875
8 0.71875 0.75 0.734375 8−(3.265625)2/2=8−5.3322 2.6678 2.6678 ≈ 2.6667(命中!) 停止

最终结果:经过8次迭代,我们得到水平线高度 h≈0.734375。

怎么把 h 变成实际的"起点和终点"?

检验结果:

注意需要做二分法的函数,必须要是单调递增,否则不能使用二分法!!!

相关推荐
AI 思录19 分钟前
Prompt 事故档案(八):日常表达被标为“待校准”,AI 的爹味语法从哪里来
大数据·人工智能·算法·prompt·用户体验·ai合规
月光船幽幽24 分钟前
跨范式映射的稳定接口设计
人工智能·python·算法
2601_965742222 小时前
全媒体运营与短视频代运营,两者有什么区别?
大数据·数据结构·人工智能·算法·ai·媒体
wordbaby3 小时前
混合检索:两全其美的艺术
人工智能·算法
彧azz3 小时前
数据结构:关于图的学习
c语言·数据结构·笔记·学习·算法
热心网友俣先生3 小时前
A题-药材的烘干问题-题意逐句翻译
算法·数学建模
2601_960356383 小时前
2026秋招运营分析师能力模型:SQL、指标体系、AIGC与业务分析
算法
hetao17338373 小时前
校内场-提高组 ZYZSC-S-Round 4
c++·算法
彧azz4 小时前
二叉搜索树学习记录
c语言·数据结构·笔记·算法
手写码匠4 小时前
DeepSeek 函数调用实战:从零搭建一个会“动手“的 AI 助手
人工智能·深度学习·算法·aigc