一、選擇排序是一種不穩定的排序方法,其主要思想是:每趟排序在當前待排序序列中選出關鍵碼最小的記錄,新增到有序序列中。通俗理解即:當前值和後序佇列中所有制進行比較,選出最小的。
二、**理解
class selectsortdemo;
sort(arr);
print(arr);
} //選擇排序
public static void sort(int arr)
}if(k!=i)
} }// 交換數值
public static void swap(int arr,int k,int i)
// 列印陣列
public static void print(int arr){
for(int i=0;i
在待排序序列為正序時,記錄的移動次數最少,為0,;在待排序序列為逆序時,記錄的移動次數最多,為3(n-1)次。無論記錄的初始排列如何,關鍵碼的比較次數相同第i躺排序需要n-i次關鍵碼的比較。
所以:總的時間複雜度為o(n^2)。
在簡單選擇排序過程中,值需要乙個用來作為交換的暫存單元。
所以:空間複雜度為o(1)。
Java 選擇排序
public static void selectsort int a int n a.length int minindex 0 從無序區中選乙個最小的數放在有序區的最後,初始時認為整個陣列都是無序的,選乙個最小的數放到第一位 for int i 0 i 直接選擇排序和插入排序類似,都將資料分為有...
選擇排序 JAVA
選擇排序原理 每次選定乙個位置的數,依此和後續位置的數比較,如果選定的數大於後面的數,則交換 第一次選擇出最小值,第二次從第二個位置開始比 共比較n 1輪,每輪比較n i 1次 int a new int for int times 0 times a.length 1 times 上述 在在一輪比...
Java 選擇排序
package com.vgbh public class selectsorting 第一趟,從n個元素中找出關鍵字最小的元素與第乙個元素交換 第二趟,在從第二個元素開始的n 1個元素中再選出關鍵字最小的元素與第二個元素交換 如此,第k趟,則從第k個元素開始的n k 1個元素中選出關鍵字最小的元素...