本文共 1209 字,大约阅读时间需要 4 分钟。
参考文章:
选择排序分析:
平均时间复杂度 | 最好情况 | 最坏情况 | 空间复杂度 | 排序方式 | 稳定性 |
O(n^2) | O(n) | O(n^2) | O(1) | In-place | 不稳定 |
选择排序原理:
选择排序(Selection-sort)是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
选择排序原理图解:
Java 实现代码:
package com.sorting.algorithm;public class SelectionSort { // 选择排序算法 public static int[] selectionSort(int[] array){ for(int i=0; i < array.length; i++){ int minIndex = i; for(int j=i; j < array.length; j++){ if(array[minIndex] > array[j]) minIndex = j; } int temp = array[i]; array[i] = array[minIndex]; array[minIndex] = temp; printArr(array); } return array; } public static void printArr(int[] array){ for (int i = 0; i < array.length; i++) { if(i != array.length-1) System.out.print(array[i] + ","); else System.out.println(array[i]); } System.out.println(); } public static void main(String[] args) { int[] array = { 58,36,70,22,88,64,1,32 }; System.out.println("排序之前:"); printArr(array); System.out.println("-------------------------------"); System.out.println("排序过程"); selectionSort(array); System.out.println("-------------------------------"); System.out.println("排序之后:"); printArr(array); }}
选择排序算法测试:
转载地址:http://bzylf.baihongyu.com/