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

2021-10-09 05:31:52 字數 1334 閱讀 5806

1.原理 : 在無序區間,通過相鄰數的比較,將最大的數冒泡到無序區間的最後,持續這個過程,直到陣列整體有序。

2.實現(公升序):

public

static

void

bubblesort

(int

array)

}}

3.效能分析:

4.穩定性:穩定

5.評價 : 通常情況我們多以時間複雜度做為評價效能的標準,由圖表可以看出氣泡排序的時間複雜度為o(n^2),所以是一種效能較差的排序方式,實際運用較少。

1.原理 : 先將整個區間被分為 : 有序區間,無序區間

每次選擇無序區間的第乙個元素,在有序區間內選擇合適的位置進行插入,實現最終的陣列有序。

2.實現(公升序) :

public

static

void

insertsort

(int

arr)

//end : -1 或者 <= key的乙個位置

arr[end+1]

= key;

}}

3.效能分析:

4.穩定性:穩定

5.評價 : 插入排序和氣泡排序類似也是一種時間複雜度較高的排序方式,所以一般認為插入排序也是一種效能較差的排序方式。

1.原理 : 先將整個區間被分為 : 有序區間,無序區間,每一次從無序區間選出最大(或最小)的乙個元素,存放在有序區間的最後(或最前),直到全部待排序的資料元素排完 。

2.實現(公升序) :

public

static

void

selectsort2

(int

arr)

swap

(arr,index,end);}

}

3.效能分析 :

4.穩定性 : 不穩定

int a = ;

交換過程中該情況無法識別,不能保證 5a 還在 5b 前邊

5.評價 : 選擇排序是一種對陣列不敏感的排序方式,所以不同情況時間複雜度都比較高,並且是一種不穩定的排序方式,所以選擇排序實際應用基本見不到。

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

public class sorts if flag 如果一輪排序中沒有發生交換證明已經排好 bubblesort的排序方法是保證每次確定把minimum value推到最前面 合適的位置 時間複雜度 o n2 return input public static int selectsort in...

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

package com.cc.mystudy.datastructor public class sortdemo for int i 0 i array.length i return array 選擇排序 將未排列陣列的起始位置設定為最小 大 值,將下標記錄下來 遍歷陣列,將其餘元素與第乙個元素...

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

氣泡排序,選擇排序,插入排序 小規模的檔案以及基本有序的檔案,插入排序的效能比快速排序的效能更為有效一些,實際上,插入排序通常也做快速排序實現的一部分。1 氣泡排序 packagedatastrut public classbubblesort public voidinsert longvalue...