Come esprimerei la velocità del seguente algoritmo di ordinamento? So che bubblesort è n ^ n (er, intendo n ^ 2 ... come qualcuno ha sottolineato in seguito). Di seguito l'array diminuisce ogni volta che lo si chiama in modo ricorsivo.
Grazie.
$myarray = array("21","4","8","8","1","2","19","21");
mysort($myarray);
function mysort($myarray,$sorted = null){
if(!isset($sorted)){
$sorted = array();
}
$lowest = $myarray[0];
$lowindex = 0;
for($x = 1;$x < count($myarray);$x++){
if($myarray[$x] < $lowest){
$lowest = $myarray[$x];
$lowindex = $x;
}
}
$sorted[] = $lowest;
array_splice($myarray,$lowindex,1);
if(count($myarray) > 1){
echo "calling recursively \n";
mysort($myarray,$sorted);
}
else if(count($myarray) == 1){
$sorted[] = $myarray[0];
$arraystr = print_r($sorted,true);
echo "sorting finished. Array is $arraystr \n";
return;
}
}