如何进行数据结构中的二分查找

二分查找

1.二分查找的算法描述

(1)在有序数组A内,查找你想要的值target
【1】如果找到就返回索引。
【2】如果没找到就返回-1。

算法描述
前提给定一个内含n个元素的有序数组A,满足A0<=A1<=A2<=A3<=…<=An-1,一个待查值target
1设置i=0,j=n-1
2如果i>j,查找结束,没找到
3如果m=floor[(i+j)/2],m为中间索引,floor为向下取整(<=m的最小整数)
4如果target<Am,设置j=m-1,跳到第二步。
5如果Am<target,设置i=m+1,跳到第二步。
6如果Am=target,结束查找。

2.二分查找的图片分析

(1)
在这里插入图片描述
首先确定两个指针i和j
代码如下:在这里插入图片描述
(2)然后设置一个数m,显示范围内有东西
在这里插入图片描述
在这里插入图片描述

注意!
java里两个整数除法自动取整。
javascript里要调用Math.floor()才能取整。
在这里插入图片描述
(3)最后敲上比较的代码并确定返回值m就完成了。
在这里插入图片描述
(4).全图预览
在这里插入图片描述
javaScript测试代码
在这里插入图片描述
结果图预览
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值