亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 邏輯算法 > 正文

PHP實現二分查找算法(代碼詳解)

2020-03-22 17:45:51
字體:
來源:轉載
供稿:網友
二分查找又稱折半查找,二分查找算法要求數據必須是有序的,以下是php實現二分查找算法的代碼。

一:遞歸方式

$array = [1,3,6,9,13,18,19,29,38,47,51,56,58,59,60,63,65,69,70,71,73,75,76,77,79,89];$target = 73;$low = 0;$high = count($array)-1;function bin_search($array, $low, $high, $target){    if ( $low <= $high){        var_dump($low, $high);echo "/n";        $mid =  intval(($low+$high)/2 );        if ($array[$mid] ==  $target){            return true;        }elseif ( $target < $array[$mid]){            return  bin_search($array, $low,  $mid-1, $target);        }else{            return  bin_search($array, $mid+ 1, $high, $target);        }    }    return false;}$find = bin_search($array, $low, $high, $target);var_dump($find);

執行結果

int(0)int(25)int(13)int(25)int(20)int(25)int(20)int(21)bool(true)

我們看到,經過4次二分查找,查找區間不斷折半,最終找到了$target。

二:循環方式

$array = [1,3,6,9,13,18,19,29,38,47,51,56,58,59,60,63,65,69,70,71,73,75,76,77,79,89];$target = 73;function bin_search($array, $target){    $low = 0;    $high = count($array)-1;    $find = false;    while (true){        if ($low <= $high){            var_dump($low, $high);echo "/n";            $mid = intval(($low + $high)/2);            if ($array[$mid] == $target){                $find = true;                break;            } elseif ($array[$mid] < $target){                $low = $mid+1;            } elseif ($array[$mid] > $target){                $high = $mid-1;            }        } else {            break;        }    }    return $find;}$find = bin_search($array, $target);var_dump($find);

執行結果

int(0)int(25)int(13)int(25)int(20)int(25)int(20)int(21)bool(true)

我們看到,兩種方式過程和結果相同。下面我們來測試下針對關聯數組的二分查找算法:

$array = ['a'=>1,'b'=>3,'c'=>6,'d'=>9,'e'=>13,'f'=>18,'g'=>19,'h'=>29,'i'=>38];$target = 19;function bin_search($array, $target){    $low = 0;    $high = count($array)-1;    $key_map = array_keys($array);    $find = false;    while (true){        if ($low <= $high){            var_dump($low, $high);echo "/n";            $mid = intval(($low + $high)/2);            if ($array[$key_map[$mid]] == $target){                $find = true;                break;            } elseif ($array[$key_map[$mid]] < $target){                $low = $mid+1;            } elseif ($array[$key_map[$mid]] > $target){                $high = $mid-1;            }        } else {            break;        }    }    return $find;}$find = bin_search($array, $target);var_dump($find);執行結果int(0)int(8)int(5)int(8)bool(true)

兩次二分查找,找到了$target,針對關聯數組,我們使用了php的array_keys函數獲得這個關聯有序數組的key,通過key間接比對$target和$array的值。

以上就是PHP實現二分查找算法(代碼詳解)的詳細內容,更多請關注 其它相關文章!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久全球大尺度高清视频| 国产精品久久久久久久av大片| 国产91露脸中文字幕在线| 中文日韩在线视频| 国产精品96久久久久久又黄又硬| 欧美日韩另类视频| 九色精品免费永久在线| 日韩暖暖在线视频| 久久人人爽人人爽人人片av高清| 国产精品扒开腿做爽爽爽男男| 国模吧一区二区三区| 久久夜色精品亚洲噜噜国产mv| 亚洲人成电影网站色…| 26uuu另类亚洲欧美日本老年| 久久久av电影| 国产精品亚洲自拍| 日韩免费观看高清| 97国产精品人人爽人人做| 97av在线视频| 成人国产精品久久久久久亚洲| 欧美日韩另类在线| 成人有码在线视频| 日韩精品极品在线观看播放免费视频| 成人一区二区电影| 亚洲日本欧美中文幕| 狠狠色狠狠色综合日日五| 一本色道久久综合亚洲精品小说| 在线观看亚洲区| 亚洲电影免费在线观看| 欧美日韩爱爱视频| 日韩中文字幕在线精品| 日韩一区二区三区xxxx| 日本精品视频在线播放| 日韩免费不卡av| 日韩av电影手机在线观看| 久久久久久亚洲精品中文字幕| 国产精品电影在线观看| 色综合久久精品亚洲国产| 亚洲精品一区av在线播放| 日韩一区二区在线视频| 久久久久国产精品免费网站| 国产精品一区久久| 国产久一一精品| 欧美专区在线播放| 8050国产精品久久久久久| 欧美贵妇videos办公室| 久久这里有精品| 亚洲v日韩v综合v精品v| 亚洲全黄一级网站| 2024亚洲男人天堂| 日韩免费在线看| 亚洲国产精品久久久久秋霞不卡| 成人精品久久av网站| 欧美色图在线视频| 欧美日韩国产一区在线| 久久久久久久999精品视频| 国产999精品久久久| 久久久亚洲影院| 日韩中文在线中文网在线观看| 亚洲香蕉av在线一区二区三区| 91精品国产91久久久久久不卡| 亚洲老头老太hd| 98精品国产高清在线xxxx天堂| 欧美野外wwwxxx| 日韩精品免费在线观看| 成人观看高清在线观看免费| 成人在线观看视频网站| 色99之美女主播在线视频| 91国产中文字幕| 在线看日韩欧美| 午夜精品福利在线观看| 97婷婷大伊香蕉精品视频| 欧美怡红院视频一区二区三区| 日韩精品在线看| 欧美日韩在线视频首页| 久久人91精品久久久久久不卡| 一区二区三区精品99久久| 综合国产在线视频| 自拍视频国产精品| 日本韩国在线不卡| 亚洲色图美腿丝袜| 都市激情亚洲色图| 亚洲国产欧美日韩精品| 精品激情国产视频| 韩日精品中文字幕| 国产伊人精品在线| 中文日韩电影网站| 最近2019中文字幕一页二页| 久久久精品美女| 亚洲精品一区二区三区婷婷月| 国产一区二区三区网站| 精品久久久久久中文字幕| 日韩电视剧免费观看网站| 51色欧美片视频在线观看| 黑人巨大精品欧美一区二区三区| 午夜欧美不卡精品aaaaa| 国产视频自拍一区| 2025国产精品视频| 日韩电影中文字幕在线| 亚洲午夜av电影| 国产欧美日韩专区发布| 亚洲曰本av电影| 亚洲精品动漫久久久久| 亚洲一区二区久久久| 亚洲电影免费观看高清完整版在线观看| 国产区亚洲区欧美区| 亚洲国产精久久久久久久| 国产成人极品视频| 91久久久久久久| 在线观看视频亚洲| 国产香蕉精品视频一区二区三区| 成人免费自拍视频| 国产精品网址在线| 性色av香蕉一区二区| 91国语精品自产拍在线观看性色| 北条麻妃99精品青青久久| 国产欧美日韩亚洲精品| 97久久精品视频| 亚洲精品国产精品国自产观看浪潮| 97精品免费视频| 97欧美精品一区二区三区| 欧美日韩免费观看中文| 久久精品视频网站| 久久久亚洲精品视频| 精品激情国产视频| 国产欧亚日韩视频| 欧美xxxx14xxxxx性爽| 国产专区精品视频| 清纯唯美亚洲综合| 亚洲第一av网站| 成人网在线免费看| 亚洲第一福利视频| 最近日韩中文字幕中文| 国产成人亚洲综合| 日韩在线视频免费观看高清中文| 欧美性xxxxhd| 国产亚洲人成网站在线观看| 成人一区二区电影| 亚洲一区二区三区乱码aⅴ蜜桃女| 欧美日韩福利视频| 一本久久综合亚洲鲁鲁| 日韩欧美综合在线视频| 免费99精品国产自在在线| 在线激情影院一区| 亚洲美女福利视频网站| 日韩高清免费观看| 国产香蕉一区二区三区在线视频| 一区二区成人精品| 国产精品99导航| 中文字幕日韩在线视频| 伊人伊成久久人综合网小说| 亚洲国产精品国自产拍av秋霞| 国产日韩精品入口| 欧美极品少妇xxxxⅹ裸体艺术| 国产精品久久国产精品99gif| 最近2019年中文视频免费在线观看| 久久精视频免费在线久久完整在线看| 欧美精品一区在线播放| 欧美一区三区三区高中清蜜桃| 欧美日韩在线视频观看| 亚洲精品短视频| 亚洲精品久久久久国产| 精品一区精品二区| 日韩中文字幕久久|