氣泡排序是低效的排序演算法,通過不斷交換相鄰逆序對來實現排序。這個相鄰逆序對是很重要的。這個演算法的名字由來是因為越大的元素會經由交換慢慢「浮」到數列的頂端,故名。
氣泡排序一般是學到的第乙個排序演算法,常規寫法實現比較簡單。
氣泡排序的平均時間複雜度為o(n
2)o(n^2)
o(n2
),最壞情況下時間複雜度為o(n
2)o(n^2)
o(n2
),最好情況下時間複雜度為o(n
)o(n)
o(n)
(辨別有序)
。
}改進氣泡排序最好情況下時間複雜度為o(n
)\ o(n)
o(n)
, 最壞情況下時間複雜度為o(n
2)\ o(n^2)
o(n2
)
void
bubblesort
(int a,
int length)
} right = rightbound;
//修改範圍
for(
int i = right; i > left; i--)}
left = leftbound;
//修改範圍
}}
排序演算法篇(氣泡排序)
氣泡排序 bubble sort 是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢 浮 到數列的頂端。氣泡排序演算法的...
演算法基礎之排序篇 氣泡排序
1 演算法描述依次比較相鄰的數劇,將小的數排前面,大的排後面。操作步驟 1 從第乙個元素開始,依次與後乙個數比較,小數放前,大數放後,結果是最大的放到了最後。2 對前n i個數重複 1 i從1至n 2,n為原序列大小。2 圖例 3 public void sort int data 4 穩定性及複雜...
演算法基礎之排序篇 氣泡排序
1 演算法描述依次比較相鄰的數劇,將小的數排前面,大的排後面。操作步驟 1 從第乙個元素開始,依次與後乙個數比較,小數放前,大數放後,結果是最大的放到了最後。2 對前n i個數重複 1 i從1至n 2,n為原序列大小。2 圖例 3 public void sort int data 4 穩定性及複雜...