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...