您当前的位置: 首页 >  算法

知其黑、受其白

暂无认证

  • 4浏览

    0关注

    1250博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

PHP二分查找算法

知其黑、受其白 发布时间:2021-03-18 10:40:58 ,浏览量:4

二分查找法:

又叫作折半查找法,它是在有序数组中查找指定数据的检索算法,比如一个数组(线性表)长度10万,查询某个数,二分查找首先把该线性表折半查询,找到这个中间位置对比看是不是,如果不是,再一次折半,重复搞下去,直到找到数据,每一次折半都踢出了一半的数据,不用一个一个对比找,所以查找效率相对高效。

两个条件:1:必须是线性表(数组),2:必须是有序存储。

算法:

left:数组开始位置;right:结束位置;mid:中间数(折半);

mid = (left+right)/2

if mid对应的val(mid相当于数组的key)大于 要查找的val:数据在前半段查找,left不变,right = mid - 1

if mid对应的val(mid相当于数组的key)小于 要查找的val:数据在后半段查找,right不变,left = mid +1

如果 == 那么就找到了该值!

如果 left 大于 right,说明数据不存在。(如果不满足上面两个条件,也可能出现这种情况,数据在,但是查不到。)

举例:

首先定义一个数组:$list&

关注
打赏
1665558895
查看更多评论
立即登录/注册

微信扫码登录

0.1412s