国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - PHP二分查找算法示例【遞歸與非遞歸方法】

PHP二分查找算法示例【遞歸與非遞歸方法】

2021-03-05 17:45ligbee PHP教程

這篇文章主要介紹了PHP二分查找算法,結合實例形式分析了php基于遞歸與非遞歸方法實現二分查找的具體操作技巧,需要的朋友可以參考下

本文實例講述了PHP二分查找算法。分享給大家供大家參考,具體如下:

binarySearch

二分查找采用的方法比較容易理解,以數組為例:

① 先取數組中間的值floor((low+top)/2),

② 然后通過與所需查找的數字進行比較,若比中間值大,則將首值替換為中間位置下一個位置,繼續第一步的操作;若比中間值小,則將尾值替換為中間位置上一個位置,繼續第一步操作

③ 重復第二步操作直至找出目標數字

比如從1,3,9,23,54 中查找數字23,

首位置為0, 尾位置為4,中間位置就為2 值為9,比23小,則首位置更新為2+1即3;那么接下來中間位置就為(3+4)/2=3,值為23,比較相等即找到

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//  非遞歸算法:
//  $target是要查找的目標 $arr是已經排序好的數組
function binary(&$arr,$low,$top,$target){
    while($low <= $top){
//由于php取商是有小數的,所以向下取整,不過也可不加,數組也會取整
      $mid = floor(($low+$top)/2);
      echo $mid."<br>";
      if($arr[$mid]==$target){
        return $arr[$mid];
      }elseif($arr[$mid]<$target){
        $low = $mid+1;
      }else{
        $top = $mid-1;
      }
    }
    return -1;
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//  遞歸算法:
function binaryRecursive(&$arr,$low,$top,$target){
    if($low<=$top){
      $mid = floor(($low+$top)/2);
      if($mid==$target){
        return $arr[$mid];
      }elseif($arr[$mid]<$target){
        return binaryRecursive($arr,$mid+1,$top,$target);
      }else{
        return binaryRecursive($arr,$low,$top-1,$target);
      }
    }else{
      return -1;
    }
}

希望本文所述對大家PHP程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 99久久久久久 | 久久久www免费人成精品 | 自拍偷拍亚洲一区 | 国产精品久久久久久 | 夜夜骑日日操 | 亚洲国产中文字幕 | 免费岛国视频 | 国产高清自拍视频 | 久久亚洲一区二区三区四区 | 久久久久久久国产毛片 | 成人精品视频99在线观看免费 | 黄色免费在线网站 | 久久久久亚洲 | 亚洲激情在线观看 | 超碰中文字幕 | 亚洲精品视频专区 | 国产精品1区2区 | 国产精品福利在线观看 | 久久99这里只有精品 | 一区二区三区免费观看 | 欧美性猛交一区二区三区精品 | 黄色毛片免费 | 一级毛片黄 | 亚洲一区视频 | 精品一区二区三区久久 | 在线观看亚洲专区 | 精品无码三级在线观看视频 | 免费观看爱爱视频 | 激情欧美一区二区三区 | 精品久久国产老人久久综合 | 亚洲综合二区 | 午夜视频在线 | 成人在线观看日韩 | 国产精品久久久久久 | 欧美精品成人 | 国产麻豆乱码精品一区二区三区 | 亚洲福利 | 中文字幕一区二区三区不卡 | 日本不卡免费新一二三区 | 综合精品| 国产精品一区三区 |