国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php中二分法查找算法實(shí)例分析

2024-05-04 23:49:57
字體:
供稿:網(wǎng)友

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

二分法查找在高級點(diǎn)的開發(fā)可能會用到了,當(dāng)然在大公司找工作時(shí)都會有面試題是這種了,下面我們來看一篇關(guān)于二分法查找在php中實(shí)現(xiàn)方法,具體的細(xì)節(jié)如下所示.

二分法(dichotomie) 即一分為二的方法,設(shè)[a,b]為R的閉區(qū)間,逐次二分法就是造出如下的區(qū)間序列([an,bn]):a0=a,b0=b,且對任一自然數(shù)n,[an+1,bn+1]或者等于[an,cn],或者等于[cn,bn],其中cn表示[an,bn]的中點(diǎn).

例子1:

header('Content-Type: text/html; charset=utf-8;');$arr = array(2,33,22,1,323,321,28,36,90,123);sort($arr);//二分法查找echo $index = binarySearch($arr,321);function binarySearch($arr,$key){ $len = count($arr); $mid = -1; $start = 0; $end  = $len-1; while($start<=$end){ $mid = (int)(($start+$end)/2); echo $mid."/n"; if($arr[$mid] == $key){  return $mid; }else if($arr[$mid] < $key){  $start = $mid+1; }else if($arr[$mid] > $key){  $end = $mid-1; } }}

例子2:

<?php//search函數(shù) 其中$array為數(shù)組,$k為要找的值,$low為查找范圍的最小鍵值,$high為查找范圍的最大鍵值function search($array, $k, $low=0, $high=0){  if(count($array)!=0 and $high == 0) //判斷是否為第一次調(diào)用  {    $high = count($array);  }  if($low <= $high) //如果還存在剩余的數(shù)組元素  {    $mid = intval(($low+$high)/2); //取$low和$high的中間值    if ($array[$mid] == $k) //如果找到則返回    {      return $mid;    }    elseif ($k < $array[$mid]) //如果沒有找到,則繼續(xù)查找    {      return search($array, $k, $low, $mid-1);    }    else    {      return search($array, $k, $mid+1, $high);    }  }  return -1;}$array = array(4,5,7,8,9,10); //測試search函數(shù)echo search($array, 8); //調(diào)用search函數(shù)并輸出查找結(jié)果?>

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


注:相關(guān)教程知識閱讀請移步到PHP教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 东山县| 盐亭县| 昌平区| 阿勒泰市| 伊宁市| 衢州市| 义乌市| 尼玛县| 商都县| 保德县| 兴化市| 黄山市| 滁州市| 长治县| 云和县| 阿拉善左旗| 大关县| 宿州市| 昌吉市| 朝阳区| 封丘县| 子长县| 石棉县| 普兰店市| 雷山县| 正蓝旗| 托里县| 宝应县| 新干县| 江西省| 怀远县| 鞍山市| 忻州市| 永平县| 东平县| 长顺县| 东平县| 北辰区| 新河县| 阿荣旗| 阿坝县|