選擇排序演算法(基於Java)

2021-07-06 07:32:43 字數 875 閱讀 1488

選擇排序演算法通過選擇和交換來實現排序,其排序流程如下:

(1)首先從原始資料中選擇最小的1個資料,將其和位於第1個位置的資料交換

(2)接著從剩下的n-1個資料中選擇次小的1個資料,將其和第2個位置的資料交換。

(3)然後不斷重複上述過程,直到最後兩個資料完成交換。至此,便完成了對原始資料的從小到大排序。

(1)從陣列中選擇乙個最小的,需要乙個for迴圈遍歷陣列

(2)將第一步中獲取到的最小值放到陣列的第一位,並且再尋找次小的數,這需要再巢狀乙個for迴圈。

(3)為了滿足第二步的條件,外層迴圈裡需要有乙個資料交換操作。

package 選擇排序;

public

class example ;

public

static

void

main(string args)

}if (index != i)

system.out.print("第" + (i + 1) + "步輸出結果是:");

時間複雜度:取迴圈最內層的index = j;為基本操作,在兩個巢狀的for迴圈中,基本操作一共執行了(n-1)+(n-2)+……+1次,也就是1/2*(n^2-n),則其時間複雜度為o(n^2)。

空間複雜度:選擇排序的空間複雜度為乙個常量,可表示為o(1)。

java選擇排序演算法

選擇排序和氣泡排序差不多,只是氣泡排序在發現比它小的時候就交換,而選擇排序是只有在確定了最小的資料之後,才會發生交換。選擇排序的基本思想 第i趟簡單選擇排序是指通過n i次關鍵字的比較,從n i 1個記錄中選出關鍵字最小的記錄,並和第i個記錄進行交換。先臨時記錄其位置,只有在一趟 迴圈完以後確定了最...

java排序演算法之 選擇排序

選擇排序是一種非常簡單的排序演算法,從字面意思我們就可以知道,選擇就是從未排序好的序列中選擇出最小 最大 的元素,然後與第 i 趟排序的第 i 1 陣列中下標從 0 開始 個位置的元素進行交換,第 i 個元素之 前的序列就是已經排序好的序列。整個排序過程只需要遍歷 n 1 趟便可排好,最後乙個元素自...

Java排序演算法 直接選擇排序

基本思想 直接選擇排序的基本操作就是每一趟從待排序的資料元素中選出最小 或最大 的乙個元素,順序放在已排好序的數列的最後,直到全部待排序的資料元素排完,它需要經過n 1趟比較。演算法不穩定,o 1 的額外的空間,比較的時間複雜度為o n 2 交換的時間複雜度為o n 並不是自適應的。在大多數情況下都...