婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > PHP實(shí)現(xiàn)的折半查找算法示例

PHP實(shí)現(xiàn)的折半查找算法示例

熱門標(biāo)簽:福建高頻外呼防封系統(tǒng)哪家好 400電話申請辦理 網(wǎng)絡(luò)電話400申請 隨州銷售電銷機(jī)器人公司 外呼系統(tǒng)人工客服 百度地圖標(biāo)注類型是酒店 全國各省地圖標(biāo)注點(diǎn) 周口網(wǎng)絡(luò)回?fù)芡夂粝到y(tǒng) 商丘外呼系統(tǒng)好處

本文實(shí)例講述了PHP實(shí)現(xiàn)的折半查找算法。分享給大家供大家參考,具體如下:

定義:折半查找技術(shù),也就是二分查找。它的前提是線性表中的記錄必須是關(guān)鍵碼有序(通常從大到小有序),線性表必須采用順序存儲(chǔ)。

折半查找的基本思想:取中間記錄作為比較對象,若給定值與中間記錄的關(guān)鍵字,則在中間記錄的關(guān)鍵字相等,則查找成功;若給定值小于中間記錄的作伴去繼續(xù)查找;若給定值大于中間記錄的關(guān)鍵字,則在中間記錄的右半?yún)^(qū)繼續(xù)查找。不斷重復(fù)上述過程,直到查找成功,或所有查找區(qū)域無記錄,查找失敗為止。

實(shí)現(xiàn)代碼:

?php
//遞歸方式
function bin_recur_search($arr,$val){
  global $time;
  if(count($arr) >= 1){
    $mid = intval(count($arr) / 2);
    $time++;
    if($arr[$mid] == $val){
      return '值為:'.$arr[$mid].'br>查找次數(shù):'.$time.'br>';
    }elseif($arr[$mid] > $val){
      $arr = array_splice($arr,0,$mid);
      return bin_recur_search($arr, $val);
    }else{
      $arr = array_slice($arr,$mid + 1);
      return bin_recur_search($arr, $val);
    }
  }
  return '未找到'.$val;
}
//非遞歸方式
function bin_search($arr,$val){
  if(count($arr) >= 1){
    $low = 0;
    $high = count($arr);
    $time = 0;
    while($low = $high){
      $time++;
      $mid = intval(($low + $high)/2);
      if($val == $arr[$mid]){
        return '索引:'.$mid.'br>值為:'.$arr[$mid].'br>查找次數(shù):'.$time;
      }elseif($val > $arr[$mid]){
        $low = $mid + 1;
      }else{
        $high = $mid - 1;
      }
    }
  }
  return '未找到'.$val;
}
$arr = array(1,3,5,7,7,9,25,68,98,145,673,8542);
echo bin_recur_search($arr, 673);
echo bin_search($arr, 673);
?>

運(yùn)行結(jié)果:

值為:673
查找次數(shù):4
索引:10
值為:673
查找次數(shù):4

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結(jié)》及《PHP數(shù)學(xué)運(yùn)算技巧總結(jié)》

希望本文所述對大家PHP程序設(shè)計(jì)有所幫助。

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

標(biāo)簽:海南 六安 定西 樂山 佛山 迪慶 十堰 南寧

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP實(shí)現(xiàn)的折半查找算法示例》,本文關(guān)鍵詞  PHP,實(shí)現(xiàn),的,折半,查找,算法,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PHP實(shí)現(xiàn)的折半查找算法示例》相關(guān)的同類信息!
  • 本頁收集關(guān)于PHP實(shí)現(xiàn)的折半查找算法示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 克山县| 普兰店市| 金华市| 清苑县| 五指山市| 安西县| 余庆县| 隆林| 砀山县| 临西县| 会昌县| 响水县| 博兴县| 株洲县| 高雄县| 长兴县| 淮安市| 漳平市| 太和县| 澎湖县| 治县。| 敦煌市| 福清市| 石景山区| 新竹县| 金塔县| 罗山县| 承德市| 溧阳市| 嘉荫县| 三河市| 嘉善县| 庄河市| 杨浦区| 琼海市| 蛟河市| 承德市| 宁国市| 奈曼旗| 梅河口市| 台东县|