JAVA排序演算法

2021-07-23 19:36:53 字數 1282 閱讀 4089

package sort;

/** * 排序演算法(公升序)

*@author allen

* stable sort: 穩定排序

* unstable sort:

* in-place sort: 不占用額外記憶體或占用常數的記憶體

* out-place sort:

*/public

class

sort ;

/*** 插入排序

* 特點:stable sort、in-place sort

* 方法核心2:對第i個,依次,從右往左比較,若大於第i個的值,則將當前值向右移動,最後不能移動時,則將i插入到最終的位置

* 最優複雜度:當輸入陣列就是排好序的時候,複雜度為o(n),而快速排序在這種情況下會產生o(n^2)的複雜度。

* 最差複雜度:當輸入陣列為倒序時,複雜度為o(n^2)

*/static

void insertsort(int arr)

arr[j+1] = temp;}}

/*** 氣泡排序(優化版)

* 特點:stable sort、in-place sort

* 方法核心1:i每迴圈一次,從最右側依次比較相鄰兩個,若相同,則交換,最終將最小的數放到最左側,下次比較則不比較最左側的數(通過i++來實現)

* 方法核心2:首先假設陣列是有序的,若產生了交換,則證明陣列無序,若未產生交換,則陣列為有序,可結束方法。

* 最優複雜度:o(n)

* 最差複雜度:o(n^2)

*/public

static

void

bubblesort(int arr)

}if(issorted == true)}}

/*** 選擇排序

* 特點:in-place sort,unstable sort

* 方法核心:每次找乙個未排序部分的最小值,並放到未排列部分的最左側

* 最優複雜度:o(n^2)

* 最差複雜度:o(n^2)。

*/public

static

void

selectsort(int arr)

}min = arr[i];

arr[i] = arr[minindex];

arr[minindex] = min;}}

/*** 測試方法

*/public

static

void

main(string args) }}

}

java排序演算法

1.定義 通過比較來確定輸入序列1,a 2,a n 的元素間相對次序的排序演算法稱為比較排序演算法。2.演算法解釋 1 選擇排序 選擇排序的基本思想是對待排序的記錄序列進行n 1遍的處理,第i遍處理是將l i.n 中最小者與l i 交換位置。這樣,經過i遍處理之後,前i個記錄的位置已經是正確的了。2...

Java排序演算法

回顧一下排序演算法 稍微地設計一下基礎類 插入排序 插入排序 insertion sort 的基本思想是 每次將乙個待排序的記錄,按其關鍵字大小插入到前面已經排好序的子檔案中的適當位置,直到全部記錄插入完成為止。氣泡排序 氣泡排序 bubblesort 的基本概念是 依次比較相鄰的兩個數,將小數放在...

java 排序演算法

氣泡排序 public void bubblesort int array 選擇排序 選擇排序 public void selectsort int a else 判斷 j 1 或者 就是第乙個小於等於temp資料的位置 datas j 1 temp 快速排序 快速排序 param datas pu...