1. 程式人生 > >選擇排序和氣泡排序總結

選擇排序和氣泡排序總結

選擇排序和氣泡排序總結

選擇排序

遞增排序一個序列,從待排序元素中選出最小的元素,和起始位置的元素交換,然後從剩餘元素中繼續選最小元素,這是一種不穩定的方法,時間複雜度n^2。比較簡單的演算法

氣泡排序

比選擇排序效能更加優一點的排序方法。
第一輪迴圈(1:n):開始先比較第一第二個元素的大小,如果第二個小於第一個,則交換,反之則保持不變。然後繼續比較第二個和第三個,這樣一直比較到第n-1個和第n個。結束第一輪迴圈
第二輪迴圈(1:n-1):繼續比較第一個和第二個的大小關係,一直比較到n-2和n-1個元素。結束第二輪迴圈
一直持續到第n-1輪迴圈
時間複雜度n^2

兩種演算法的比較

選擇排序為不穩定的排序,氣泡排序為穩定排序。
1.選擇排序需要交換元素的次數明顯少於氣泡排序。且氣泡排序的交換次數和待排序序列的順序程度相關性大
2.兩者的空間複雜度一致,只需要一個額外空間o(1)
3.兩者每一輪大迴圈都能選出一個最優數(最大或最小的數)

如果文章存在錯誤或哪裡不懂的,歡迎交流2018-12-18