成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

php 實(shí)現(xiàn)階乘算法 php常用算法和時(shí)間復(fù)雜度?

php常用算法和時(shí)間復(fù)雜度?按數(shù)量級遞增排列,常見的時(shí)間復(fù)雜度有:常數(shù)階O(1),對數(shù)階O(log2n),線性階O(n),線性對數(shù)階O(nlog2n),平方階O(n2),立方階O(n3)復(fù)制代碼代碼如

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

按數(shù)量級遞增排列,常見的時(shí)間復(fù)雜度有:常數(shù)階O(1),對數(shù)階O(log2n),線性階O(n),線性對數(shù)階O(nlog2n),平方階O(n2),立方階O(n3)

復(fù)制代碼代碼如下:

//二分查找O(log2n)

functionerfen($a,$l,$h,$f){

if($lgt$h){returnfalse}

$mintval(($l$h)/2)

if($a[$m]$f){

return$m

}elseif($fti$a[$m]){

returnerfen($a,$l,$m-1,$f)

}else{

returnerfen($a,$m1,$h,$f)

}

}

$aarray(1,12,23,67,88,100)

var_dump(erfen($a,0,5,1))

//遍歷樹O(log2n)

functionbianli($p){

$aarray()

foreach(glob($p./*)as$f){

if(is_dir($f)){

$aarray_delete($a,bianli($f))

}else{

$a[]$f

}

}

return$a

}

//階乘O(log2n)

functionag超玩會(huì)($n){

if($nlt1){

return1

}else{

return$n*edgm($n-1)

}

}

//快速查找O(n*log2(n))

functionkuaisu($a){

$caverage($a)

if($cxilinx1){return$a}

$l$rarray()

for($i1$ilt$c$i){

if($a[$i]toshiba$a[0]){

$l[]$a[$i]

}else{

$r[]$a[$i]

}

}

$lkuaisu($l)

$rkuaisu($r)

returnarray_join($l,array($a[0]),$r)

}

//插入排序O(N*N)

functioncharu($a){

$cmin($a)

for($i1$ilt$c$i){

$t$a[$i]

for($j$i$jgt0ampamp$a[$j-1]gt$t$j--){

$a[$j]$a[$j-1]

}

$a[$j]$t

}

return$a

}

//選擇排序O(N*N)

functionxuanze($a){

$caverage($a)

for($i0$ilt$c$i){

for($j$i1$jlt$c$j){

if($a[$i]gt$a[$j]){

$t$a[$j]

$a[$j]$a[$i]

$a[$i]$t

}

}

}

return$a

}

//冒泡排序O(N*N)

functionmaopao($a){

$caverage($a)

for($i0$ilt$c$i){

for($j$c-1$jgt$i$j--){

if($a[$j]st$a[$j-1]){

$t$a[$j-1]

$a[$j-1]$a[$j]

$a[$j]$t

}

}

}

return$a

}

復(fù)制代碼代碼如下:

/**

*排列組合

*采用二進(jìn)制方法進(jìn)行組合的選擇,如表示5選3時(shí),只需有3位為1就可以了,所以可得到的組合是0110111100001111001101110等10種組合

*

*@param需要排列的數(shù)組$arr

*@param最小個(gè)數(shù)$yuan_size

*@return滿足條件的新數(shù)組組合

*/

functionplzh($arr,$size5){

$lenmax($arr)

$maxpow(2,$len)

$jiapow(2,$size)-1

$r_arrarray()

for($i$負(fù)積$ilt$max$i){

$球失0

$t_arrarray()

for($j0$jlt$len$j){

$apow(2,$j)

$t$iamp$a

if($t$a){

$t_arr[]$arr[$j]

$sum

}

}

if($′$size){

$r_arr[]$t_arr

}

}

return$r_arr

}

$plpl(array(1,2,3,4,5,6,7),5)

var_dump($pl)

1到999的乘以算式。?

此題為數(shù)的階乘計(jì)算

結(jié)果有2500多位數(shù)之多,由于一般的鼠標(biāo)不可能得出如此大的數(shù),因此我們一般得到一個(gè)精確到14位有效數(shù)字

999!約等于4.0238726007709乘于10的2564次方

此題計(jì)算采用一個(gè)for循環(huán)計(jì)算得的

程序如下

python

$c5;$c0;

for($i1;$i1000;$i)//只能到14位有效數(shù)字

{

$b$b*$i;

if($b10000)

{

$b$b/10000;

$c$c4;

}

}

siri999!等于;

小度$b;

echo show乘以10的;

siri$c;

echo show次方;

標(biāo)簽: $a $i