Java實現選擇排序和插入排序

2021-09-24 11:32:11 字數 1161 閱讀 8394

表現最穩定的排序演算法之一,因為無論什麼資料進去都是o(n2)的時間複雜度,所以用到它的時候,資料規模越小越好。唯一的好處可能就是不占用額外的記憶體空間了吧。理論上講,選擇排序可能也是平時排序一般人想到的最多的排序方法了吧。

選擇排序(selection-sort)的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。 

(1) 演算法描述

n個記錄的直接選擇排序可經過n-1趟直接選擇排序得到有序結果。具體演算法描述如下:

(2) **

/**

* 選擇排序

*/public static int selectionsort(int array)

int temp = array[minindex];

array[minindex] = array[i];

array[i] = temp;

}return array;

}

最佳情況:t(n) = o(n2)  最差情況:t(n) = o(n2)  平均情況:t(n) = o(n2)

插入排序(insertion-sort)的工作原理是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。插入排序在實現上,通常採用in-place排序(即只需用到o(1)的額外空間的排序),因而在從後向前掃瞄過程中,需要反覆把已排序元素逐步向後挪位,為最新元素提供插入空間。

(1) 演算法描述

一般來說,插入排序都採用in-place在陣列上實現。具體演算法描述如下:

(2)**

/**

* 插入排序

*/public static int insertionsort(int array)

array[preindex + 1] = current;

}return array;

}

最佳情況:t(n) = o(n)   最壞情況:t(n) = o(n2)   平均情況:t(n) = o(n2)

java選擇排序 氣泡排序和插入排序實現

排序是將一組 無序 的記錄序列調整為 有序 的序列的操作。最簡單的排序演算法有選擇排序 氣泡排序和插入排序。public class popsort system.out.println 選擇法排序 public static void selectsort int a for int i 0 i ...

選擇和插入排序 java

選擇排序 selection sort 選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理 首先在未排序序列中找到最小 大 元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小 大 元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。演算...

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

插入排序 1 特殊 從第二個元素開始,和第乙個元素比較,如果滿足排序的順序,則交換順序。2 一般 把待比較和他之前的所有元素相比 從右往左 如果滿足排序的順序,這交換。private static void insertsort int arr 2 氣泡排序 1 從第乙個元素開始,和第二個元素相比,...