php二分法查找法怎么使用
导读:使用PHP实现二分法查找法的步骤如下: 实现一个二分查找函数,输入参数为一个有序数组和要查找的值。 初始化左边界为0,右边界为数组长度减1。 在循环中,计算中间位置mid,并比较中间位置的值与要查找的值。 如果中间位置的值等于要查找的值,...
使用PHP实现二分法查找法的步骤如下:
- 实现一个二分查找函数,输入参数为一个有序数组和要查找的值。
- 初始化左边界为0,右边界为数组长度减1。
- 在循环中,计算中间位置mid,并比较中间位置的值与要查找的值。
- 如果中间位置的值等于要查找的值,则返回中间位置。
- 如果中间位置的值大于要查找的值,则更新右边界为mid-1。
- 如果中间位置的值小于要查找的值,则更新左边界为mid+1。
- 如果左边界大于右边界,则表示未找到要查找的值,返回-1。
以下是一个示例代码实现:
function binarySearch($arr, $target) {
$left = 0;
$right = count($arr) - 1;
while ($left = $right) {
$mid = $left + floor(($right - $left) / 2);
if ($arr[$mid] == $target) {
return $mid;
}
if ($arr[$mid] $target) {
$left = $mid + 1;
}
else {
$right = $mid - 1;
}
}
return -1;
}
$arr = [1, 3, 5, 7, 9, 11, 13];
$target = 7;
$result = binarySearch($arr, $target);
if ($result != -1) {
echo "目标值在数组中的位置是:" . $result;
}
else {
echo "目标值不在数组中";
}
通过以上代码实现,可以实现对有序数组的二分法查找。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: php二分法查找法怎么使用
本文地址: https://pptw.com/jishu/648705.html