什么是二分查找

二分查找

二分查找也称半数查找(Binary Search),它是一种效率较高的查找方法。
但是,半数查找哀求线性表必须采取顺序存储构造,而且表中元素按关键字有序排列。

php二分法二分查找法PHP代码 Java

二分查找的哀求:

1:必须采取循序储存构造。

2:必须按关键字大小有序排列。

大致内容:

定义数组,自定义函数,递归方法查找。

案例主题代码截图:

主题代码

这些代码主内容:

定义一个数组,第46行调用函数(写入对应实参),47行大略做一个小判断。

函数代码截图:

二分函数

阐明:

函数第10行中定义了四个形参($arr 为查找的数组, $value 你想要在数组中查找的数值 ,$start 开始范围的下标 , $end 结束范围的下标)。

第12行第一个if判断(当开始的下标大于结束的下标时返回false,从函数中出来)。

第16行$mid 求出每次的中间值的下标,$zhong 为中间值。

第18行,当你想要找的值恰好是中间值。

第22行,你找的值大于中间值时,得到一个新的起始下标($new_start),它就即是原来的中间下标加一,结束下标还是原来的结束下标($end,为了方便查看,我将它赋值给了$new_end)。

第28行,你找的值小于中间值时,得到一个新的结束下标($new_end),它就即是原来的中间下标减一,起始下标还是原来的起始下标($start,为了方便查看,我将它赋值给了$new_start)。

结果截图:

结果

上面为数组的内部数据。

下面为查询结果(灵巧变动内容,可查看自己所需的效果)。