氣泡排序
只會操作相鄰的兩個元素,每次對相鄰的兩個元素做大小比較,看是否滿足大小關係。 一次冒泡至少會讓乙個元素移動到最終位置(冒泡)
時間複雜度o(n^2)空間複雜度o(1)
穩定性排序
public static void bubblesort(int array) else
}if(! flag) }}
long end = system.currenttimemillis();
system.out.println("氣泡排序總耗時為:"+(end-start)+"毫秒");
}
直接插入排序與氣泡排序比較
在萬數量級上的排序耗時(毫秒):
冒泡:100+
直接插入:10+
在十萬數量級的排序耗時(毫秒):
冒泡:15000+
直接插入:800+
時間複雜度都是o(n^2),都是原地排序演算法 為什麼插入排序比氣泡排序好:氣泡排序需要3個賦值操作,交換操作總耗時3*k單位時間,插入排序只需要1個賦值操作,資料移動只需要k個單位時間。
資料結構 排序之氣泡排序
資料結構 排序 可以通過理解各個排序演算法的不變性來加深對演算法的理解 氣泡排序bubblesort 不變性 out右邊的所有資料項都是有序的。out為outer loop外迴圈體中的變數。the point for out arrlen 1 out 1 out the code public cl...
資料結構之排序 氣泡排序
簡介 氣泡排序屬於交換排序的一種。交換排序就是根據序列中兩個元素關鍵字的比較結果來對換這兩個記錄在序列中的位置。交換排序的演算法有很多,著重需要掌握的有氣泡排序和快速排序。基本思想 長為n的序列表,從前往後 或從後往前 兩兩比較相鄰元素的值,若為逆序,則交換他們,知道所有序列比較完。每一趟冒泡都會將...
資料結構之氣泡排序
2.編寫乙個氣泡排序的演算法,並且在main函式中驗證其功能已實現 氣泡排序 bubble sort 的基本思想,設想排序r 1 到r n 垂直放置,將記錄 r i 看作是重量為r i key的氣泡 根據氣泡不能在重氣泡之下的原則,從下往 上掃瞄陣列r,凡違反原則的輕氣泡,就使其向上 飄浮 如此反覆...