天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

php 常用算法和時間復(fù)雜度

按數(shù)量級遞增排列,常見的時間復(fù)雜度有:常數(shù)階O(1),對數(shù)階O(log2n),線性階O(n),線性對數(shù)階O(nlog2n),平方階O(n2),立方階O(n3)
復(fù)制代碼 代碼如下:
//二分查找O(log2n)
function erfen($a,$l,$h,$f){
    if($l >$h){ return false;}
    $m = intval(($l+$h)/2);
    if ($a[$m] == $f){
        return $m;
    }elseif ($f < $a[$m]){
        return erfen($a, $l, $m-1, $f);
    }else{
        return erfen($a, $m+1, $h, $f);
    }

}
$a = array(1,12,23,67,88,100);
var_dump(erfen($a,0,5,1));
//遍歷樹O(log2n)
function bianli($p){
    $a = array();
    foreach (glob($p.'/*') as $f){
        if(is_dir($f)){
            $a = array_merge($a,bianli($f));
        }else{
            $a[] = $f;
        }
    }
    return $a;
}
//階乘O(log2n)
function jc($n){
    if($n<=1){
        return 1;
    }else{
        return $n*jc($n-1);
    }   
}
//快速查找  O(n *log2(n))
function kuaisu($a){
    $c = count($a);
    if($c <= 1){return $a;}
    $l = $r = array();   
    for ($i=1;$i<$c;$i++){
        if($a[$i] < $a[0]){
            $l[] = $a[$i];
        }else{
            $r[] = $a[$i];
        }
    }
    $l = kuaisu($l);
    $r = kuaisu($r);
    return array_merge($l,array($a[0]),$r);
}
//插入排序  O(N*N)
function charu($a){
  $c = count($a);
  for($i=1;$i<$c;$i++){
      $t = $a[$i];
      for($j=$i;$j>0 && $a[$j-1]>$t;$j--){
          $a[$j] = $a[$j-1];         
      }
      $a[$j] = $t;
  }
  return $a;
}
//選擇排序O(N*N)
function xuanze($a){
    $c = count($a);
    for($i=0;$i<$c;$i++){
        for ($j=$i+1;$j<$c;$j++){
            if($a[$i]>$a[$j]){
                $t = $a[$j];
                $a[$j] = $a[$i];
                $a[$i] = $t;
             }
        }
    }
    return $a;
}
//冒泡排序   O(N*N)
function maopao($a){
    $c = count($a);
    for($i=0;$i<$c;$i++){
        for ($j=$c-1;$j>$i;$j--){
            if($a[$j] < $a[$j-1]){
               $t = $a[$j-1];
               $a[$j-1] = $a[$j];
               $a[$j] = $t;
            }
        }   
    }
    return $a;
}
復(fù)制代碼 代碼如下:
/**
 * 排列組合
 * 采用二進(jìn)制方法進(jìn)行組合的選擇,如表示5選3時,只需有3位為1就可以了,所以可得到的組合是 01101 11100 00111 10011 01110等10種組合
 *
 * @param 需要排列的數(shù)組 $arr
 * @param 最小個數(shù) $min_size
 * @return 滿足條件的新數(shù)組組合
 */
function plzh($arr,$size=5) {
  $len = count($arr);
  $max = pow(2,$len);
  $min = pow(2,$size)-1;
  $r_arr = array();
  for ($i=$min; $i<$max; $i++){
   $count = 0;
   $t_arr = array();
   for ($j=0; $j<$len; $j++){
    $a = pow(2, $j);
    $t = $i&$a;
    if($t == $a){
     $t_arr[] = $arr[$j];
     $count++;
    }
   }  
   if($count == $size){
    $r_arr[] = $t_arr;   
   }  
  }
  return $r_arr;
 }

$pl = pl(array(1,2,3,4,5,6,7),5);
var_dump($pl);

php技術(shù)php 常用算法和時間復(fù)雜度,轉(zhuǎn)載需保留來源!

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

主站蜘蛛池模板: 国产午夜免费不卡精品理论片 | 国产人妻午夜无码AV天堂 | 亚洲一区乱码电影在线 | 国产精品1卡二卡三卡四卡乱码 | 伊人AV一区二区三区夜色撩人 | 猫咪最新破解版下载 | 亚洲欧洲日产国产 最新 | 伊人网久久网 | 精品水蜜桃久久久久久久 | 草莓AV福利网站导航 | caoporn免费视频在线 | 久久免费看少妇高潮A片2012 | 亚洲日本va中文字幕久久 | 精品无码国产AV一区二区三区 | 全黄H全肉细节文短篇 | 伊人久久大香线蕉综合亚洲 | 色视频色露露永久免费观看 | 久久91精品国产91久久户 | 免费精品国偷自产在线在线 | 蜜桃成熟时2在线观看完整版hd | 精品爽爽久久久久久蜜臀 | 在线免费中文字幕 | 国产专区青青草原亚洲 | 奶水太多h室友 | 国产精品一区二区AV白丝在线 | 午夜DY888国产精品影院 | 青苹果乐园在线观看电视剧 | 99re精品视频在线播放视频 | 青青草狠狠干 | 我们日本在线观看免费动漫下载 | 无套暴躁白丝秘书 | 成人在线观看视频免费 | 四虎国产精品永久一区高清 | 办公室里做好紧好爽H | 北原夏美 快播 | 成人综合在线视频免费观看完整版 | 闺蜜扒开我尿口使劲揉 | 国产看黄网站又黄又爽又色 | 色婷婷AV国产精品欧美毛片 | 暖暖 免费 高清 日本视频5 | 国产精品爆乳尤物99精品 |