Classificação de seleção simples
princípio
O princípio da ordenação por seleção (Ordenação por Seleção) é semelhante à ordenação por inserção e também é dividido em intervalos ordenados e não ordenados. Mas a ordenação por seleção encontrará o menor elemento do intervalo de ordenação todas as vezes e o colocará no final do intervalo ordenado.
O processo de execução de seleção e classificação simples é implementado pelo código conforme mostrado na figura abaixo
public class SelectSort {
public static void main(String[] args) {
int arr[] = {
34,1,139,101};
for (int i = 0; i < arr.length; i++) {
int minIndex = i;
int min = arr[i];
for (int j = i + 1; j < arr.length; j++) {
//找最小值
if (min > arr[j]) {
//如果最初的min值比后面的值大,说明不是最小值,重置min值,直到找到对应位置最小的min值
min = arr[j];
minIndex = j;
}
}
//先找到对应位置的最小值,再将找到的最小值与最初的值进行交换
//将最小值与最初的值进行交换
if (minIndex != i) {
arr[minIndex] = arr[i];
arr[i] = min;
}
System.out.println(Arrays.toString(arr));
}
}
}
1: Qual é a complexidade de tempo da classificação de seleção?
Combinado com a análise dos métodos de análise anteriores, pode-se ver que o melhor caso de complexidade de tempo da classificação de seleção é O (n ^ 2), o pior caso de complexidade de tempo é: O (n ^ 2) e o a complexidade de tempo média é: O (n ^ 2).
2: Qual é a complexidade espacial do tipo de seleção?
Através da implementação do algoritmo, podemos descobrir que a complexidade espacial da ordenação por seleção é O (1), que é um algoritmo de ordenação no local.
3: A classificação seletiva é um algoritmo de classificação estável?
A ordenação de seleção não é um algoritmo de ordenação estável, porque a ordenação de seleção sempre encontra o menor valor entre os elementos não ordenados restantes e troca as posições com o primeiro elemento do intervalo não ordenado, o que destrói a estabilidade, como 5, 8., 5,2,9 tal conjunto de dados, se você usar o algoritmo de classificação de seleção para classificar, o menor elemento 2 é encontrado pela primeira vez e a posição dos primeiros 5 é trocada, então a ordem dos primeiros 5 e dos 5 do meio mudará , então se torna instável. Por esse motivo, a classificação por seleção é ligeiramente inferior à classificação por bolhas e classificação por inserção em termos de estabilidade.