background image

 

PHP 基础:php 常用算法和时间复杂度

  按数量级递增排列,常见的时间复杂度有:常数阶 O(1),对数阶 O(log2n),线性阶 O(n),
线性对数阶 O(nlog2n),平方阶 O(n2),立方阶 O(n3)
代码如下:
 

//二分查找 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

);

    

}