O exemplo deste artigo informa a seleção do resumo do algoritmo de classificação Java. Compartilhe para todos para sua referência. A análise específica é a seguinte:
A operação básica da seleção de classificação é um dos elementos mínimos (ou máximos) selecionados dos elementos de dados a serem classificados, e a ordem está no final do número de sequências até que os elementos de dados sejam classificados. O algoritmo é instável, o espaço extra de O (1), a complexidade do tempo de comparação é O (n^2) e a complexidade do tempo da troca é O (n), que não é adaptativa. Não é recomendado na maioria dos casos. Somente quando você deseja reduzir o número de trocas.
Idéias básicas
A seleção direta do arquivo do arquivo registrado N pode ser selecionado diretamente através da viagem N-1 para obter os resultados ordenados:
① Estado inicial: a área desordenada é r [1..n] e a área ordenada está vazia.
② A primeira classificação é classificada na área desordenada r [1..n] para selecionar o registro mínimo r [k] e trocar com o primeiro registro r [1] na área desordenada. 2..n] são alterados para novas áreas ordenadas do número de registros e uma nova área desordenada com vários registros de 1 e o número de registros diminuiu em 1.
Nympho
③ Classificação II
No início do tipo de I, as áreas ordenadas e as áreas de distúrbios atuais são r [1..i-1] e r (1≤i≤n-1). Esse tipo selecionou o registro mínimo R [K] na área de desordem atual e trocou -o com o primeiro registro R na área desordenada, de modo que R [1..i] e R são separados em registros. As áreas do número e uma nova área desordenada com vários registros diminuíram em 1.
Dessa forma, a seleção direta dos arquivos do arquivo registrado N pode ser selecionado diretamente por viagens N-1 para obter resultados ordenados.
Implementação de código
Public class Test {public static int [] a = {10,32,1,9,5,7,12,0,4,3}; {int i; printf ("%3s", a); I ++) System.Intf ("%3s", a); Índice de Valor Mínimo; Valor do valor mínimo para armazenamento para (j = i; j <em <index; j ++) {if (a [j] <minvalue) // Encontre o valor mínimo {minvalue {minvalue = a [j]; / Armazenamento mínimo indexmin = j;} temp = a; // troca dois valores a = a; k (k (k = 0; k <index; k ++) system.out.printf ("%3s", a [k]); system.out.println ("");}}}}}}
Como o método de classificação borbulhante, o ciclo da camada externa ainda precisa executar o N-1 vezes, e sua eficiência ainda é ruim.
Espera -se que este artigo seja útil para o design do programa Java de todos.