冒泡法排序, 以及时间复杂空间复杂度分析
冒泡法排序的最好情况是数据元素集合已经全部排好序,这是循环n-1次每次没有交换动作而退出,因此,冒泡排序的最好情况的时间复杂是是O(n);冒泡排序算法的最坏情况是数据元素集合全部逆序存放,这时循环n-1次 比较次数你n(n-1)/2 和交换移动次数 3n(n-1)/2,因此冒泡排序算法最坏情况时间复杂度为O(n2).
冒泡排序算法的空间复杂度是O(1);
1 function BubbleSort(&$a,$n){ 2 $flag=1; 3 $temp=0; 4 for ($i=1;$i<$n&&$flag==1;$i++){ 5 $flag=0; 6 for ($j=0;$j<$n-$i;$j++){ 7 if($a[$j]<$a[$j+1]){ 8 $flag=1; 9 $temp=$a[$j]; 10 $a[$j]=$a[$j+1]; 11 $a[$j+1]=$temp; 12 } 13 } 14 } 15 16 } 17 $arr=[1,3,5,6,72,9]; 18 $len=count($arr); 19 BubbleSort($arr,$len); 20 var_dump($arr);die;
,
人生是一道单行轨迹,留下怎样的风景,在于心灵的旅行