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 na lista classificada. 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 consideramos a lista inteira 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, 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 matrizes 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 ainda, três elementos não são classificados, agora classificaremos os elementos não classificados restantes da matriz, para esse fim, compararemos o valor do índice 2 com o valor do índice 3; portanto, não haverá alteração Como '8' é menor que '9' e na próxima iteração, comparamos '8' com o valor do índice final.

Compare '8' com '4', 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 funcionamento da classificação de seleção em termos de cada etapa ou passagem e depois implementaremos o mesmo conceito em JavaScript.

Depois de concluir a primeira etapa, obtemos valor mínimo no 0º índice, na segunda etapa o segundo menor número é deslocado no primeiro índice, da mesma forma que obtemos um número adequado no índice adequado depois de concluir a terceira e quarta etapa, não vamos Não preciso executar a classificação para o último índice, pois temos apenas um elemento e, se todos os elementos anteriores da matriz forem classificados, o último elemento também será classificado. Por isso, concluímos que exigimos um total de passes "n-1" 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; i < array_length; i++)
deixe menor = i;
para (vamos j = i+1; j < array_length; j++)
if (input_array [j] < input_Array[smallest])
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 “.Propriedade de comprimento ”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á começar de "i+1". Em seguida, escrevemos o código para trocar o elemento assim que encontramos o menor elemento da matriz.

Finalmente, utilizamos o console.Função de log para imprimir a saída no console do navegador:

Conclusão

Neste artigo, aprendemos a classificar uma matriz usando a seleção em JavaScript. No algoritmo de classificação de seleção, escolhemos o primeiro elemento da lista ou matriz e o comparamos com o restante dos elementos da matriz quando encontramos o menor elemento, mudamos para o índice inicial, então alteramos o segundo elemento 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. 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. Uma vez que entendemos como o tipo de seleção funciona, então implementamos no JavaScript.