氣泡排序可以說是排序中乙個十分重要的內容,很多時候都會遇到,比如面試,考試等。下面就來寫一寫氣泡排序,也可以加深一下自己的理解。
氣泡排序原理,依次比較相鄰的兩個元素,把較大的元素移至後端;每趟排序找出較大的值放在後端。
給定乙個陣列,例如[2,8,4,6,1];
第一趟排序:將8移至後端
第一次排序:[2,8,4,6,1]; //比較2和8,位置不變
第二次排序:[2,4,8,6,1]; //比較8和4,將8移至4的後面
第三次排序:[2,4,6,8,1]; //比較8和6,將8移至6的後面
第四次排序:[2,4,6,1,8]; //比較8和1,將8移至1的後面
第二趟排序:將6移至後端
第一次排序:[2,4,6,1,8]; //比較2和4,位置不變
第二次排序:[2,4,6,1,8]; //比較4和6,位置不變
第三次排序:[2,4,1,6,8]; //比較6和1,將6移至1的後面
第三趟排序:將4移至後端
第一次排序:[2,4,1,6,8]; //比較2和4,位置不變
第二次排序 : [2,1,4,6,8]; //比較4和1,將4移至1的後面
第四次排序:將2移至後端
第一次排序:[1,2,4,6,8]; //比較2和1,將2移至1的後面
氣泡排序**如下:
for(int i=0;i)}}
時間複雜度:
1.如果陣列是順序的,則一趟排序即可,進行n-1次比較,時間複雜度為o(n);
2.如果陣列是逆序的,則需要n-1趟排序,每次n-i趟比較,時間複雜度為o(n²);
綜上,氣泡排序平均時間複雜度為o(n²);
排序詳解 氣泡排序
氣泡排序 bubble sort 是一種電腦科學領域的較簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越大的元素會經由交換慢慢 浮 到數列的頂端,...
氣泡排序詳解
冒泡嘛,就是大的氣泡在上面,就如 第一趟 從後面依次往前 173和178比較,在依次173與175,後面都是如此 第二趟 最小已經在第一排,第一排固定不動。第三趟 最小已經在第一排 第二排,第一排 第二排固定不動。第四趟 最小已經在第一排 第二排 第三排,第一排 第二排 第三排固定不動。這樣,便實現...
JS 排序詳解 氣泡排序
說明 原理依次比較相鄰的兩個值,如果後面的比前面的小,則將小的元素排到前面。依照這個規則進行多次並且遞減的迭代,直到順序正確。時間複雜度,空間複雜度,穩定性 氣泡排序的寫法 var examplearr 8,94,15,88,55,76,21,39 function sortarr arr retu...