当前位置: 首页 > news >正文

二分算法

原理

每次都将待查找区间缩小一半,通过比较目标值与区间中间元素的大小,来确定下一步在左半区间还是右半区间继续查找,直到找到目标元素或确定目标元素不存在。

整数二分

通过数据规律对比中间值和目标值的对应关系确定二分边界的更新方式,使用对应的二分算法求解问题。

int bsearch_1(int l,int r)
{while(l<r){int mid=l+r>>1;if(check(mid)) r=mid;else l=mid+1;}return l;
}
int bsearch_2(int l,int r)
{while(l<r){int mid=l+r+1>>1;if(check(mid)) l=mid;else r=mid-1;}return l;
}

  向下取整,如果r=l-1,会产生l=mid死循环的边界问题,因此确定mid时补上加一。

浮点数二分
//求根
#include<iostream> using namespace std;int main()
{double x;cin>>x;double l=0,r=x;while(r-l>=1e-6){double mid=(l+r)/2;if(mid*mid>x) r=mid;else l=mid;}printf("%f\n",l);}

相关文章:

  • LabVIEW实时系统数据监控与本地存储
  • camera功能真的那么难用吗
  • 静态相机中的 CCD和CMOS的区别
  • 传统的将自然语言转化为嵌入向量的核心机制是:,将离散的语言符号转化为连续的语义向量,其核心依赖“上下文决定语义”的假设和神经网络的特征提取能力。
  • 如何更改默认 Crontab 编辑器 ?
  • 在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
  • Unity基于GraphView的可视化关卡编辑器开发指南
  • 华为×小鹏战略合作:破局智能驾驶深水区的商业逻辑深度解析
  • NTT印地赛车:数字孪生技术重构赛事体验范式,驱动观众参与度革命
  • 大量企业系统超龄服役!R²AIN SUITE 一体化企业提效解决方案重构零售数智化基因
  • Inxpect安全雷达传感器与控制器:动态检测 + 抗干扰技术重构工业安全防护体系
  • 重构城市应急指挥布控策略 ——无人机智能视频监控的破局之道
  • 从“人找政策”到“政策找人”:智能退税ERP数字化重构外贸生态
  • Jmeter如何进行多服务器远程测试?
  • 动量及在机器人控制中的应用
  • 高考:如何合理选择学科、专业以及职业
  • 滴滴Java一面
  • 从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践
  • 基于sqlite的任务锁(支持多进程/多线程)
  • CSS中text-align: justify文本两端对齐
  • 中山市做网站/seo优化多少钱
  • 建设网站哪家最好/新闻今天
  • 常州做网站麦策电商/在线seo推广软件
  • 如何进行一个网站建设/建立企业网站步骤
  • 科技企业网站/微信推广朋友圈广告
  • 网站首页做几个关键词/营销网页