首页/新闻资讯/正文详情

折半查找:二分查找的原理

发布时间:2026/9/25 4:07:49 来源:云帆数科 栏目:资讯中心
折半查找:二分查找的原理
折半查找:二分查找的原理顺序查找平均要比较n/2次。如果数据是有序的,有个快得多的方法——折半查找(也叫二分查找)。每次排除一半的数据,速度快到惊人。一、基本思想前提:数据必须有序 + 顺序存储。每次取中间位置的元素与目标比较:中间值 = 目标 → 找到了!中间值 目标 → 目标在左半边,去左边找中间值 目标 → 目标在右半边,去右边找重复这个过程,范围每次缩小一半。就像翻字典找"python":先翻到中间,看到"m"开头的,太靠前了 → 翻后半部分 → 看到"s"开头 → 再翻后面……几次就找到了。二、详细示例有序数组:[1, 3, 5, 7, 9, 11, 13, 15, 17, 19] 查找目标:13 low=0, high=9 第1次:mid = (0+9)/2 = 4 arr[4] = 9 13 → 目标在右半 → low = 5 第2次:mid = (5+9)/2 = 7 arr[7] = 15 13 → 目标在左半 → high = 6 第3次:mid = (5+6)/2 = 5 arr[5] = 11 13 → 目标在右半 → low = 6 第4次:mid = (6+6)/2 = 6 arr[6] = 13 == 13 → 找到了! 只比较了4次!(顺序

相关推荐

Easy Mock 完整使用指南:Mock 数据生成、Swagger 导入与响应式数据实战
Easy Mock 完整使用指南:Mock 数据生成、Swagger 导入与响应式数据实战

后端接口测试 【免费下载链接】easy-mock A persistent service that generates mock data quickly and provids visualization view. 项目地址: https://gitcode.com/gh_mirrors/ea/easy-mock 点击查看 免费下载 Easy Mock 是一个可视化、能够快速生成模拟数据的持… · 2026/9/25 4:07:49

eslint-plugin-react 的 react/jsx-max-depth 规则:从配置到源码的 JSX 嵌套深度控制指南
eslint-plugin-react 的 react/jsx-max-depth 规则:从配置到源码的 JSX 嵌套深度控制指南

开发工具代码质量静态分析 【免费下载链接】eslint-plugin-react React-specific linting rules for ESLint 项目地址: https://gitcode.com/gh_mirrors/es/eslint-plugin-react 点击查看 免费下载 导读 react/jsx-max-depth 是 eslint-plugin-react 提供的"… · 2026/9/25 4:07:49

ng-zorro-antd Cron Expression 结合 Angular 响应式表单:formControlName、自定义校验器与执行时间预览
ng-zorro-antd Cron Expression 结合 Angular 响应式表单:formControlName、自定义校验器与执行时间预览

UI组件前端 【免费下载链接】ng-zorro-antd Angular UI Component Library based on Ant Design 项目地址: https://gitcode.com/gh_mirrors/ng/ng-zorro-antd 点击查看 免费下载 ng-zorro-antd 的 nz-cron-expression 组件提供可视化的 cron 表达式编辑能力。本篇… · 2026/9/25 4:07:49

AI驱动代码审查:open-code-review命令行工具的设计与实践
AI驱动代码审查:open-code-review命令行工具的设计与实践

代码审查这件事,我在团队里正经推过两年,最后都败给了同一句话:“太忙了,没时间看。”不是工程师不重视质量,而是传统的 Code Review 流程门槛太高:要切换上下文、要维护审查清单、要消化一大段 diff&#… · 2026/9/25 5:53:55

广告联盟APP实战:反作弊与数据统计的完整落地指南
广告联盟APP实战:反作弊与数据统计的完整落地指南

广告联盟APP这个方向,我是从一张白纸开始做的。当时团队接到的任务很明确:做一个能同时对接多家广告源、把流量给到下游开发者、并且自己平台能抽成的联盟型APP。一开始以为重心肯定在“接SDK、写广告位、做UI”上,结果真正跑起来才发现&… · 2026/9/25 5:53:49

温州地区用户对炬峰科技的满意度怎么样
温州地区用户对炬峰科技的满意度怎么样

从温州阀门制造产业升级看炬峰智能的用户价值沉淀时光翻涌,中国制造业的产业升级浪潮已经走过数十个年头,作为国内燃气阀门、瓶阀产业的核心集聚区,浙东南地区的制造业生态早已发生了翻天覆地的变化。从家庭小作坊式的人工装配,到… · 2026/9/25 5:53:49

python-for-android 完整指南:将 Python 应用打包为 Android APK / AAB / AAR
python-for-android 完整指南:将 Python 应用打包为 Android APK / AAB / AAR

开发工具构建工具移动开发 【免费下载链接】python-for-android Turn your Python application into an Android APK 项目地址: https://gitcode.com/gh_mirrors/py/python-for-android 点击查看 免费下载 python-for-android(简称 p4a)是 K… · 2026/9/25 5:53:49

TypeDoc 展开标签深度解析:@expand、@expandType 与 @preventExpand 如何控制类型引用的文档展示
TypeDoc 展开标签深度解析:@expand、@expandType 与 @preventExpand 如何控制类型引用的文档展示

开发工具文档 【免费下载链接】typedoc Documentation generator for TypeScript projects. 项目地址: https://gitcode.com/gh_mirrors/ty/typedoc 点击查看 免费下载 TypeDoc 在渲染文档时,默认只会把类型别名或接口的引用显示为一个链接,… · 2026/9/25 5:53:43

Spinnaker Rosco halconfig 配置骨架解析:Halyard 拼接机制、弃用迁移与烘焙默认值配置指南
Spinnaker Rosco halconfig 配置骨架解析:Halyard 拼接机制、弃用迁移与烘焙默认值配置指南

后端DevOps云原生微服务 【免费下载链接】spinnaker Spinnaker is an open source, multi-cloud continuous delivery platform for releasing software changes with high velocity and confidence. 项目地址: https://gitcode.com/gh_mirrors/sp/spinnaker 点击查… · 2026/9/25 5:53:43

数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)
数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码