久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

PHP有序表查找之二分查找(折半查找)算法示例

這篇文章主要介紹了PHP有序表查找之二分查找(折半查找)算法,簡(jiǎn)單介紹了二分查找法的概念、原理并結(jié)合實(shí)例形式分析了php基于二分查找算法進(jìn)行有序線性表查找的相關(guān)操作技巧,需要

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

簡(jiǎn)介:

二分查找技術(shù),又稱(chēng)為折半查找。它的前提是線性表中的記錄必須是關(guān)鍵碼有序(通常從小到達(dá)有序),線性表必須采用順序存儲(chǔ)。

基本思想:

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

代碼:

<?php
//二分搜索(折半查找)算法(前提是數(shù)組必須是有序數(shù)組) 時(shí)間復(fù)雜度是 O(logn)
$i = 0; //存儲(chǔ)對(duì)比的次數(shù)
//@param 待查找數(shù)組
//@param 待搜索的數(shù)字
function binsearch($arr,$num){
 $count = count($arr);
 $lower = 0;
 $high = $count - 1;
 global $i;
 while($lower <= $high){
  $i ++; //計(jì)數(shù)器
  if($arr[$lower] == $num){
   return $lower;
  }
  if($arr[$high] == $num){
   return $high;
  }
  $middle = intval(($lower + $high) / 2);
  if($num < $arr[$middle]){
   $high = $middle - 1;
  }else if($num > $arr[$middle]){
   $lower = $middle + 1;
  }else{
   return $middle;
  }
 }
 //返回-1表示查找失敗
 return -1;
}
$arr = array(0,1,16,24,35,47,59,62,73,88,99);
$pos = binsearch($arr,62);
print($pos);
echo "<br>";
echo $i;

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

7
3

總結(jié):

二叉查找的時(shí)間復(fù)雜度是 O(logn)。不過(guò)由于二叉查找的前提條件是需要有序表順序存儲(chǔ)(數(shù)組),如果該有序表需要頻繁的執(zhí)行插入或刪除操作,維護(hù)有序的排序會(huì)帶來(lái)不小的工作量。

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

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

您可能感興趣的文章:

  • 使用PHP實(shí)現(xiàn)二分查找算法代碼分享
  • PHP 冒泡排序 二分查找 順序查找 二維數(shù)組排序算法函數(shù)的詳解
  • php二分查找二種實(shí)現(xiàn)示例
  • PHP二分查找算法示例【遞歸與非遞歸方法】
  • PHP二分查找算法的實(shí)現(xiàn)方法示例
  • PHP實(shí)現(xiàn)的折半查找算法示例
  • PHP常用的排序和查找算法
  • php數(shù)據(jù)結(jié)構(gòu)與算法(PHP描述) 查找與二分法查找
  • php數(shù)據(jù)結(jié)構(gòu)之順序鏈表與鏈?zhǔn)骄€性表示例
  • php線性表的入棧與出棧實(shí)例分析
  • php線性表順序存儲(chǔ)實(shí)現(xiàn)代碼(增刪查改)
【網(wǎng)站聲明】本站除付費(fèi)源碼經(jīng)過(guò)測(cè)試外,其他素材未做測(cè)試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請(qǐng)勿用于商業(yè)用途。如損害你的權(quán)益請(qǐng)聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關(guān)文檔推薦

這篇文章主要介紹了PHP定義字符串的四種方式,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
下面小編就為大家分享一篇php 替換文章中的圖片路徑,下載圖片到本地服務(wù)器的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
下面小編就為大家分享一篇PHP給源代碼加密的幾種方法匯總(推薦),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
下面小編就為大家分享一篇php打開(kāi)本地exe程序,js打開(kāi)本地exe應(yīng)用程序,并傳遞相關(guān)參數(shù)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
這篇文章主要介紹了PHP類(lèi)的反射來(lái)實(shí)現(xiàn)依賴(lài)注入過(guò)程以及相關(guān)知識(shí)點(diǎn)分享,對(duì)此有興趣的朋友跟著小編學(xué)習(xí)下吧。
php遍歷一個(gè)文件夾內(nèi)的所有文件和文件夾,并刪除所有文件夾和子文件夾下的所有文件的代碼,通過(guò)遞歸方式實(shí)現(xiàn)達(dá)到清空一個(gè)目錄的效果。本文給大家分享實(shí)例代碼,需要的朋友參考
主站蜘蛛池模板: 国产福利小视频 | 美女高潮网站 | 91精品一区 | 啪啪综合网 | 九九热这里只有精品在线观看 | 精品欧美乱码久久久久久 | 日韩免费视频一区二区 | 国产精品一区二区视频 | 91成人在线| 天天综合久久 | 精品久久久久久亚洲国产800 | 日韩在线观看 | 国产农村一级片 | 日日骚网 | 五月花丁香婷婷 | 久久综合久| 人人射人人草 | 成人中文字幕在线 | 国产日韩欧美在线观看 | 成人精品视频在线观看 | 成人精品国产一区二区4080 | 中文字幕在线二区 | 欧美日韩视频 | 亚洲国产黄 | 久久久精品影院 | 国产视频二区 | 成人在线免费视频观看 | 日韩久久久久 | 91亚洲国产 | 精品国产欧美日韩不卡在线观看 | 精品久久久久久亚洲精品 | 欲色av| 搞av.com | 国产91精品在线 | 99在线免费观看视频 | 亚洲欧美综合 | 成人三级视频 | 久久久久久久久淑女av国产精品 | 在线观看av网站 | 日本午夜免费福利视频 | 99视频在线播放 |