phpのバイナリ検索を実現

<?PHPの
 ini_set( 'のerror_reporting'、E_ALL );
ini_set( '上' 'はdisplay_errors'、);
 関数 binary_search($$ B = 0 ){ 

    $ロー = 0 $ hign = カウント$)-1 ;
    一方、$ hign > = $低い){
         $ミッド = フロア(($低い + $ hign)/ 2 )。
        もし$ [ $中旬 ] ==$ B ){
             戻り $を [ $ミッド]。
        } ELSEIF$ [ $中間 ]> $ B ){
             $ hign = $ミッド - 1 
        } ELSEIF$ [ $ミッド < $ B ){
             $低い = $中間 + 1 
        } 
    } 
    戻り '没有相关字符' 
 } 
$ A = [1,2,33,47,555,666,888 ]。
$ B = 34 ;
エコー binary_search($$ bの);

より多くのステップを行うには1、二分探索log2nの必要性; - 電源の数の計算が逆です。

おすすめ

転載: www.cnblogs.com/songyanan/p/12192844.html