Classificação de seleção em JavaScript

Classificação de seleção em JavaScript
O algoritmo de classificação de seleção classifica a lista encontrando o menor número da lista não classificada e movendo -a para o início da lista. O tipo de seleção divide a lista real em duas listas, uma para números classificados enquanto a segunda lista é para os números não classificados restantes, inicialmente considera toda a lista como uma lista não classificada.

O tipo de seleção funciona em uma filosofia muito básica que é encontrar o menor número da matriz e trocá -lo para a posição inicial (0º índice), então encontre novamente o segundo menor número da matriz não classificada restante e coloque -a na posição apropriada ( primeiro índice) e assim por diante, dessa maneira finalmente, teremos uma matriz classificada.

Neste artigo, discutiremos como o tipo de seleção funciona, para esse fim, consideraremos um exemplo para explicar cada etapa para classificar uma matriz usando o tipo de seleção.

Como funciona a classificação da seleção

Por exemplo, considere a seguinte matriz e classifique -a usando a seleção:

Passo 1

Inicialmente, temos uma matriz de cinco elementos, no índice zero, temos um valor '9', e o compararemos com o próximo índice, se o valor do primeiro índice for menor que o valor do índice zero e depois o próximo Comparará o valor do índice 1 com os restantes elementos da matriz.

Comparamos '1' com '8', '1' é menor que '8', então novamente compararemos '1' com o valor do próximo índice (3º índice),

'1' é menor que '2'.

Isso significa que novamente '1' será comparado com o último índice em que encontramos um valor '4', que também é maior que '1'.

Então, passo a passo, comparamos 1 com cada elemento da matriz e, como resultado, testemunhamos que '1' é o menor número entre todos os elementos da matriz.

Então, finalmente, obtivemos um valor classificado para o índice 0.

Passo 2:

Agora, após a etapa 1, o valor no índice zero é classificado, então temos duas seções agora, no lado esquerdo, uma matriz classificada e, no lado direito, uma matriz não classificada:

Vamos classificar a matriz não classificada, então inicialmente compararemos o índice um com o índice dois, descobrimos que '9' é maior que '8'

Como '8' é menor que '9', então daqui compararemos o valor do índice 2, que é '8' com os outros elementos da matriz. Agora '8' é comparado com '2'

'2' é menor que '8', portanto, na próxima iteração que compararemos '2' com os últimos elementos da matriz. Compare '2' com '4':

Portanto, '2' é o menor elemento entre todos os elementos da matriz não classificado, portanto, será trocado no segundo índice, a matriz resultante após a segunda etapa será:

etapa 3

Até agora, temos 2 elementos classificados, enquanto três elementos são não classificados. Agora vamos resolver os elementos não classificados restantes da matriz. Para esse fim, compare o valor do índice 2 com o valor do índice 3, para que não haja alteração, pois '8' é menor que '9'. Na próxima iteração, comparamos '8' com o valor do índice final.

Aqui '4' é menor que '8' e '4' é o último elemento da matriz, portanto, '4' será trocado por '8': e a matriz atualizada será:

Passo 4:

Agora, os três primeiros elementos são classificados, compare o valor do índice 3 com o valor do índice 4, aqui '9' é maior que '8' e não há mais elemento restante na matriz para a comparação; portanto, trocamos o Valor do Forth Índice com o valor do terceiro índice:

Finalmente, obtemos uma matriz classificada, além disso, se alguém for instruído a classificar em ordem decrescente, ela será feita em ordem inversa, encontrando o valor máximo.

Como implementar a seleção de classificação em javascript

Agora, concluiremos o trabalho de seleção em termos de cada etapa e depois implementaremos o mesmo conceito em JavaScript.

Depois de concluir a primeira etapa, obtemos o valor mínimo no 0º índice, na segunda etapa, o segundo menor número é deslocado para o primeiro índice. Da mesma forma, obtemos um número adequado no índice adequado depois de concluir a terceira e quarta etapa.

Não precisamos executar a classificação para o último índice, pois ainda temos apenas um elemento e se todos os elementos anteriores da matriz forem classificados, o último elemento também será classificado.

Portanto, concluímos que exigimos um total de "N-1" Passos para classificar uma matriz.

Agora, implementaremos esse conceito de seleção em JavaScript:

função seleção_sort (input_array)
Deixe Array_length = input_array.comprimento;
para (vamos i = 0; ideixe menor = i;
para (vamos j = i+1; j if (input_array [j] menor = j;


se (menor != i)
deixe temp_val = input_array [i];
input_array [i] = input_array [menor];
input_array [menor] = temp_val;


retornar input_array;

const input_array = [9, 1, 8, 2, 4];
seleção_sort (input_array);
console.log ("Final classificado Array:", input_array);

Na parte inicial do código, utilizamos o ““.comprimento" Propriedade para verificar o comprimento da matriz real e armazená-la em uma variável "Array_length", então iteramos o loop até atingir o índice "N-1". No loop inicialmente, consideramos que o índice atual tem o menor valor; portanto, definimos “menor = i” e, em seguida, usamos outro loop para comparar o valor atual com os valores restantes da matriz, e o loop irá Comece de “i+1”. Em seguida, escrevemos o código para trocar o elemento assim que encontrarmos o menor elemento da matriz.

Finalmente, utilizamos o console.registro() Função na saída no console do navegador:

Conclusão

No algoritmo de classificação de seleção, encontramos o menor elemento. Mudamos para o índice inicial e depois mudamos o segundo elemento menos para o primeiro índice e assim por diante. Como resultado, temos uma matriz em que os elementos classificados estão presentes no lado esquerdo e os elementos não classificados estão presentes no lado direito da matriz. Dessa forma, uma matriz final classificada é construída usando a classificação de seleção em JavaScript.

Neste artigo, aprendemos a classificar uma matriz usando a seleção em JavaScript. Entendemos a lógica por trás do algoritmo de classificação de seleção, considerando um exemplo e explicando seu funcionamento passo a passo.