Algoritmo de classificação --- classificação de seleção (versão java)

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
Insira a descrição da imagem aqui

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.

Acho que você gosta

Origin blog.csdn.net/qq_33626996/article/details/113178888
Recomendado
Clasificación