氣泡排序:
氣泡排序(bubblesort)的基本概念是:依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即在第一趟:首先比較第1個和第2個數,將小數放前,大數 放後。
然後比較第2個數和第3個數,將小數放前,大數放後,如此繼續,直至比較最後兩個數,將小數放前,大數放後。至此第一趟結束,將最大的數放到了最後。
在第二趟:仍從第一對數開始比較(因為可能由於第2個數和第3個數的交換,使得第1個數不再小於第2個數),將小數放前中,大數放後,一直比較到倒數第二個數(倒數第一的位置上已經是最大的),第二趟結束,在倒數第二的位置上得到乙個新的最大數(其實在整個數列中是第二大的數)。如此下去,重複以上過程,直至最終完成排序。
選擇排序
第一次從下標為0的開始下標為0的這個數與後面的n-1個進行比較;找出最小或者最大的放在下標為0的這個位置;第二次從下標為1的開始比較;查詢剩下的最大或者最小值;放在下標為1的位置;以此類推;直到排序完成。
總結從上兩段**可以看出,它們處於同乙個數量級,即時間複雜度是相同的,都用了兩層迴圈,為o(n^2)(n:排序個數); 但是內層迴圈中,氣泡排序的互換位置的操作從概率上講要明顯多於選擇排序. 整個排序演算法,選擇排序換位操作為o(n),氣泡排序為o(n^2/2). 所以綜合來講選擇排序的時間效率要高於氣泡排序.
選擇排序與氣泡排序的區別
選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理是每一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置,直到全部待排序的資料元素排完。選擇排序是不穩定的排序方法。氣泡排序 bubble sort 是一種計算解學領域的較簡單的排序演算法。它重複地...
氣泡排序與選擇排序的區別分析
氣泡排序與選擇排序很類似,有些初學者不注意很容易將兩者混淆,因此想寫一篇部落格,詳解兩種排序演算法的區別。第1輪排序 首先進行第1輪排序,黃色代表當前比較的元素,綠色代表已經歸位的元素。1 比較第1個和第2個元素,4 3,交換。2 比較第2個和第3個元素,1 3,不交換。3 比較第3個和第4個元素,...
選擇排序與氣泡排序區別與比較
每一趟從待排序的資料元素中選出最小 或最大 的乙個元素,順序放在已排好序的數列的最後,直到全部待排序的資料元素排完。選擇排序是不穩定的排序方法。如果在 c 語言中去實現選擇排序,我們最常見的就是兩層迴圈的實現方式。從選擇排序的思想出發,我們都不難看出 n s圖如下 演算法如下 for i 0,n 2...