什么是二分查找
二分查找
二分查找也称半数查找(Binary Search),它是一种效率较高的查找方法。但是,半数查找哀求线性表必须采取顺序存储构造,而且表中元素按关键字有序排列。
二分查找的哀求:
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)。
结果截图:
结果
上面为数组的内部数据。
下面为查询结果(灵巧变动内容,可查看自己所需的效果)。