Python全系列 教程
3567个小节阅读:5930.5k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。它利用数据的有序性,每轮缩小一半搜索范围,直至找到目标元素或搜索区间为空为止
注意
查找的集合是线性结构、有序排列、元素不可重复
先初始化指针 left=0 和 right=size-1 ,分别指向数组首元素和尾元素,代表搜索区间 [0,size-1] 。注意中括号表示闭区间,其包含边界值本身,然后循环执行:
计算中点索引 mid=(i+j)//2 或者 mid=(j-i)//2+left
断 nums[mid]
和 target
的大小关系,分为以下三种情况。
当 nums[mid] < target
时,说明 target
在区间 [mid+1,right] 中,因此执行 left=mid+1
当 nums[mid] > target
时,说明 target
在区间 [left,mid−1] 中,因此执行 right=mid−1
当 nums[mid] = target
时,说明找到 target
,因此返回索引 mid
实时效果反馈
1. 关于二分查找法,说法错误的是?
A 二分查找的数列是有序的
B 二分查找查找数据从中位索引位置开始匹配
C 二分查找每轮搜索可缩小一半搜索范围
D 二分查找效率与顺序查找效率一样
答案
1=>D