校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > PHP折半(二分)查找算法實例分析

PHP折半(二分)查找算法實例分析

熱門標簽:遼寧ai電銷機器人價格 寧波外呼營銷系統 地圖標注專員怎么樣 長沙做地圖標注公司 四川保險智能外呼系統供應商 福建銀行智能外呼系統價格 房產中介用的是什么外呼系統 電話機器人銷售主要負責什么 上海做外呼線路的通信公司

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

折半查詢只適用于已經按照正序或者逆序排序的數組,字符串等;

算法:

先取數組的中間位置,無中間位置,則向下取整;

從中間進行折半,大小判斷,進入前半段或者后半段;

再對前半段或者后半段進行同樣的折半查詢,

直到查詢到匹配的字符,才停止(本例用break,如果置于函數中,return即可)

php實現的代碼如下:

?php
$arr = array(1,2,3,4,5,6,7,8,9,10);//數組
$key = 4;//要查詢的關鍵字
$low = 0;//開始位的標志
$high = count($arr);//終止位的標志
while($low = $high){//查詢開始結束的條件
 $mid = floor(($low + $high)/2);//進行中間位置計算,向下取整
 if($arr[$mid] == $key){//查詢成功
 echo $arr[$mid];
 break;//結束本頁執行,函數可用return
 }elseif($arr[$mid] > $key){ //查詢前半段,把結束標志移到中間位置前一位
 $high = $mid - 1;
 }else{ //查詢后半段,把開始位置移到中間位置的后一位
 $low = $mid + 1;
 }
}
/*
運行結果:4
*/
?>

補充:折半(二分)查找算法類:

/**
 * Description:php實現二分查找算法的類
 * @author wzy
 */
class binary_search{
  public $arr;
  public $key;
  function __construct($arr,$key){
    //這里初始化的數組已經是有序數組
    $this->arr=$arr;
    $this->key=$key;
  }
  function binarysearch(){
    $start=0;
    $end=count($this->arr)-1;
    while($start=$end){
      //mid的取值可以為上整數或者下整數
      $mid=ceil(($start+$end)/2);
      //$mid=($start+$end)>>1;
      //$mid=intval(($start+$end)/2);
      if($this->arr[$mid]$this->key){
        $start=$mid+1;
      }else if($this->arr[$mid]>$this->key){
        $end=$mid-1;
      }else{
        return $mid;
      }
    }
  }
}

可能大家還會遇到這種情況,數組中的元素有重復數據,需要返回的是重復數據中的第一個元素的位置,例如

$arr=array(1,2,3,4,5,6,6,6,6,7,8);

查找6這個元素時返回的位置應該為5,而不是其他(下標從0開始計數),這樣需要在返回的mid進行判斷,代碼如下:

/**
 * Description:php實現二分查找算法的類
 * @author wzy
 */
class binary_search{
  public $arr;
  public $key;
  function __construct($arr,$key){
    //這里初始化的數組已經是有序數組
    $this->arr=$arr;
    $this->key=$key;
  }
  function binarysearch(){
    $start=0;
    $end=count($this->arr)-1;
    while($start=$end){
      //mid的取值可以為上整數或者下整數
      $mid=ceil(($start+$end)/2);
      //$mid=($start+$end)>>1;
      //$mid=intval(($start+$end)/2);
      if($this->arr[$mid]$this->key){
        $start=$mid+1;
      }else if($this->arr[$mid]>$this->key){
        $end=$mid-1;
      }else{
        //返回第一個匹配的元素
        for($i=$mid-1;$i>=0;$i--){
          if($this->arr[$i]==$this->key){
            $mid=$i;
          }else{
            break;
          }
        }
        return $mid;
      }
    }
  }
}

更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP數據結構與算法教程》、《php程序設計算法總結》、《php字符串(string)用法總結》、《PHP數組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結》及《PHP數學運算技巧總結》

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

您可能感興趣的文章:
  • PHP實現的折半查找算法示例
  • PHP 冒泡排序 二分查找 順序查找 二維數組排序算法函數的詳解
  • php二分查找二種實現示例
  • php順序查找和二分查找示例
  • php數據結構與算法(PHP描述) 查找與二分法查找
  • 解析php二分法查找數組是否包含某一元素
  • PHP二分查找算法示例【遞歸與非遞歸方法】
  • PHP二分查找算法的實現方法示例
  • PHP基于二分法實現數組查找功能示例【循環與遞歸算法】
  • PHP實現的二分查找算法實例分析

標簽:常德 宿遷 澳門 宜春 工商登記 深圳 佛山 延安

巨人網絡通訊聲明:本文標題《PHP折半(二分)查找算法實例分析》,本文關鍵詞  PHP,折半,二分,查找,算法,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP折半(二分)查找算法實例分析》相關的同類信息!
  • 本頁收集關于PHP折半(二分)查找算法實例分析的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    中文字幕一区二区日韩精品绯色| 欧美白人最猛性xxxxx69交| 国产精品久久99| 成人国产精品免费观看| 国产精品欧美一级免费| 成人爱爱电影网址| 亚洲你懂的在线视频| 欧美午夜影院一区| 日韩高清国产一区在线| 精品欧美一区二区久久| 精品一区二区三区影院在线午夜| 精品成人一区二区| 99在线精品免费| 亚洲愉拍自拍另类高清精品| 91麻豆精品国产91久久久久久| 蜜臀av一区二区在线免费观看| 久久日一线二线三线suv| 懂色av一区二区夜夜嗨| 亚洲国产乱码最新视频| 欧美成va人片在线观看| av网站一区二区三区| 视频一区二区三区入口| 2023国产精品| 日本精品免费观看高清观看| 视频一区视频二区中文字幕| 久久午夜色播影院免费高清| 在线亚洲高清视频| 麻豆精品视频在线| 中文字幕一区二区三区不卡 | 亚洲欧美国产三级| 欧美日本一区二区在线观看| 国产一区二区伦理| 亚洲夂夂婷婷色拍ww47| 久久精品亚洲乱码伦伦中文| 欧美在线观看视频在线| 国产在线视视频有精品| 一区二区三区精品| 日韩一区二区三区电影| 色综合视频在线观看| 国产真实精品久久二三区| 亚洲最大成人网4388xx| 国产亚洲成年网址在线观看| 欧美最新大片在线看| 成人综合日日夜夜| 麻豆91精品91久久久的内涵| 一区二区视频免费在线观看| 久久久亚洲高清| 91精品国产91综合久久蜜臀| www.爱久久.com| 国产一区二区在线看| 调教+趴+乳夹+国产+精品| 中文字幕亚洲视频| 久久亚洲一区二区三区四区| 欧美日韩一本到| 91视视频在线观看入口直接观看www | 国产亚洲一区字幕| 日韩三级中文字幕| 欧美日韩一区国产| 91免费观看视频在线| 国产乱码字幕精品高清av| 亚洲影院久久精品| 亚洲品质自拍视频| 国产精品色婷婷| 久久久久久免费网| 久久久久青草大香线综合精品| 欧美日韩高清一区| 欧美性做爰猛烈叫床潮| 色先锋资源久久综合| av网站免费线看精品| 成人动漫一区二区| 成人免费av网站| 不卡高清视频专区| 国产91对白在线观看九色| 国产成人在线视频网址| 国产成人高清在线| 成人在线视频一区| 成人av网站在线观看| 成人av在线一区二区三区| 成人免费视频播放| 白白色 亚洲乱淫| 91在线观看污| 欧美曰成人黄网| 欧美日韩精品欧美日韩精品一| 在线观看日韩国产| 欧美日本在线一区| 欧美r级电影在线观看| 欧美不卡一区二区| 中文字幕av不卡| 成人欧美一区二区三区黑人麻豆 | 精品国产人成亚洲区| 精品国产一区二区三区久久久蜜月| 欧美videos中文字幕| 久久午夜免费电影| 国产精品福利电影一区二区三区四区| 1000精品久久久久久久久| 亚洲猫色日本管| 亚洲国产精品欧美一二99| 日韩制服丝袜av| 狠狠色丁香久久婷婷综合丁香| 国产成人啪免费观看软件| www.欧美精品一二区| 欧美午夜免费电影| 欧美电视剧在线看免费| 中文字幕精品在线不卡| 亚洲最大色网站| 黄色日韩三级电影| 色综合久久久久综合| 欧美一区二区三区在线看| 国产日产欧美一区| 亚洲福利一二三区| 国产精品一二三区在线| 欧美亚洲一区二区在线| 欧美sm美女调教| 亚洲免费高清视频在线| 蜜桃av一区二区| 色欧美片视频在线观看在线视频| 欧美乱熟臀69xxxxxx| 国产欧美日韩久久| 免费观看日韩电影| www.成人网.com| 精品国产一区久久| 亚洲一二三四在线| 国产美女娇喘av呻吟久久| 色视频一区二区| 国产三级精品在线| 日本强好片久久久久久aaa| 成人免费黄色大片| 精品欧美一区二区在线观看| 一区二区三区欧美日韩| 国产精品一区二区在线观看不卡| 日本电影欧美片| 国产蜜臀97一区二区三区| 婷婷中文字幕综合| 99国产欧美另类久久久精品| 精品久久久久久无| 天天爽夜夜爽夜夜爽精品视频| 不卡一区二区中文字幕| 日韩欧美一级精品久久| 亚洲午夜久久久久久久久电影网 | 91亚洲精品久久久蜜桃| 欧美一级欧美一级在线播放| 一区二区在线观看免费| 不卡在线观看av| 久久亚洲精精品中文字幕早川悠里| 日韩精品欧美成人高清一区二区| 91视频xxxx| 国产精品美女久久久久久久| 韩国精品主播一区二区在线观看| 欧美日韩亚洲综合| 一区二区三区中文免费| av欧美精品.com| 国产精品午夜电影| 国产精品一区一区| 日韩精品专区在线影院观看| 日本va欧美va欧美va精品| 欧美裸体一区二区三区| 偷拍一区二区三区四区| 欧美日韩一二三区| 亚洲第一成人在线| 欧美精品免费视频| 天堂av在线一区| 91精品国产色综合久久ai换脸| 丝袜美腿高跟呻吟高潮一区| 欧美日韩国产片| 午夜精品久久久久久久久| 欧美日韩一区二区三区四区| 亚洲不卡一区二区三区| 欧美精品九九99久久| 琪琪一区二区三区| 欧美成人一级视频| 激情图区综合网| 国产精品午夜免费| 国产成人在线免费| 国产精品高潮呻吟| 在线国产电影不卡| 亚洲一区自拍偷拍| 欧美日韩国产天堂| 六月丁香婷婷久久| 久久精品夜色噜噜亚洲aⅴ| 波多野结衣91| 一区二区三区久久久| 欧美久久婷婷综合色| 麻豆精品在线看| 国产欧美视频一区二区三区| 成人免费视频caoporn| 一区二区三区四区蜜桃| 欧美一区二区二区| 成人午夜视频网站| 亚洲欧美视频一区| 欧美一区二区三区成人| 国产精品1区二区.| 亚洲欧美日韩一区二区三区在线观看| 欧美综合亚洲图片综合区| 免费观看久久久4p| 中文字幕亚洲成人| 欧美午夜精品一区二区三区 | 久久久激情视频| www.欧美色图| 日韩精品一级二级| 欧美激情一区二区|