氣泡排序演算法

2021-10-07 17:37:23 字數 1437 閱讀 8298

比較兩個相鄰的元素,按照從大到小還是從小到大的需求,即交換兩個元素的位置。
對輸入的陣列進行按照規定的順序進行排序

進行第一次排序

進行第二次排序

進行第三次排序

進行第四次排序

第一趟結果 [3,7,5,2,9]

1.在第一趟排序中 排序的次數是陣列長度的-1,在第一趟排序中能確定需要的最大的數字或者最小的數字,在第二趟排序中就可以少排序依一次

public

static

int[

]test1

(int arr)

}}return arr;

}public

static

void

main

(string[

] args)))

);//[2, 3, 5, 77, 88]

}

分析演算法的時間複雜度,通常都是分析最壞的時間複雜度的情況。讓程式在最壞的情況下,也能保證流暢的服務。這才是分析的目的。

在氣泡排序演算法中最壞的情況就是逆序

也就是元素比較的次數為:

(n−1)+(n−2)+(n−3)+…+2+1=n∗(n−1)/2

推導過後,得出氣泡排序時間複雜度是:o(n^2)

(1)o(1) 是時間不會改變的,**的執行量只有一次

例如: system.out.println(「你好,我叫swag」);

(2)o(n)是乙個線性增長的。經常用在for()迴圈當中

一層for迴圈中,去遍歷資料

(3)o(n^2) 是乙個平方的過程,在o(n)基礎上再巢狀一層for迴圈

正如氣泡排序的兩次for迴圈

(4)o(n^3)是乙個立方的增長,經常出現在遍歷乙個三層for迴圈中

下面附上一張關於複雜度的圖:

氣泡排序演算法 C 氣泡排序演算法排序詳解

氣泡排序是最簡單的排序方法,理解起來容易。雖然它的計算步驟比較多,不是最快的,但它是最基本的,初學者一定要掌握。c 氣泡排序演算法的例項源 一些排序方法的 集錦,該函式模板使用冒泡法對集合元素進行排序,引數說明 collection 集合物件,集合物件必須提供 操作。element 集合元素,該引數...

氣泡排序 氣泡排序演算法優化

常用的排序演算法主要包括 1 插入排序 直接插入排序 希爾排序 2 交換排序 氣泡排序 快速排序 3 選擇排序 簡單選擇排序 堆排序快速排序 4 歸併排序其中,氣泡排序算是最簡單的一種排序演算法 public class bubble int temp 0 for int i 0 iarr j 1 ...

排序演算法 氣泡排序

一.氣泡排序的過程 公升值排序 1.將第乙個記錄的關鍵字與第二個記錄的關鍵字進行比較,若key 1 key 2 則交換。然後比較第二個與第三個,依此類推,直到第n 1個與第n個比較為止,第一趟排序完後,記錄最大的關鍵字會被排在最後面。2.將記錄的前n 1個關鍵字進行第二趟比較交換,直到前n 1個中最...