氣泡排序 選擇排序和插入排序

2022-02-17 17:07:19 字數 611 閱讀 1082

一、氣泡排序

依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放前,大數放後,如此繼續,直至比較最後兩個數,將小數放前,大數放後。重複以上過程,直至最終完成排序。

氣泡排序是穩定的。演算法時間複雜度是o(n ^2)。

二、    選擇排序

每一趟從待排序的資料元素中選出最小(或最大)的乙個元素,順序放在已排好序的數列的最後,直到全部待排序的資料元素排完。 選擇排序是不穩定的排序方法。

選擇排序是不穩定的。演算法複雜度是o(n ^2 )。

三、    插入排序

每次從無序表中取出第乙個元素,把它插入到有序表的合適位置,使有序表仍然有序。

直接插入排序是穩定的。演算法時間複雜度是o(n ^2)

1) 穩定的:如果存在多個具有相同排序碼的記錄,經過排序後,這些記錄的相對次序仍然保持不變,則這種排序演算法稱為穩定的。

插入排序、氣泡排序、歸併排序、分配排序(桶式、基數)都是穩定的排序演算法。

2)不穩定的:否則稱為不穩定的。

直接選擇排序、堆排序、shell排序、快速排序都是不穩定的排序演算法。

**出處:

氣泡排序 選擇排序和插入排序

氣泡排序 思路 將相鄰的兩個數比較,將較小的數調到前頭 有n個數就要進行n 1趟比較,第一次比較中要進行n 1次兩兩比較,在第j趟比較中,要進行n j次兩兩比較。依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放...

氣泡排序和插入排序,選擇排序

插入排序原理 對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。插入排序核心 假設第乙個元素排好,之後的元素對排好的部分從後向前比較並逐一移動。選擇排序 按第乙個元素為基礎,遍歷所有元素,找出最小值,然後調換 公升序 include includevoid embed int a,in...

氣泡排序,選擇排序和插入排序

這兩天的 演算法 進入排序的學習後,遇到了一些問題,下面是我自己總結的理解 氣泡排序 兩兩相比較遍歷陣列不斷以兩兩交換的方式找到最值 最大或最小 再從迴圈中剔除該最值縮小遍歷範圍繼續一次從頭至尾的遍歷,迴圈很多次至最終排序完成。選擇排序 以乙個變數儲存下表索引,同氣泡排序一樣的兩兩相比較,但不交換,...