冒泡法排序, 以及時間復雜空間復雜度分析


冒泡法排序的最好情況是數據元素集合已經全部排好序,這是循環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;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM