Ordena de selección en JavaScript

Ordena de selección en JavaScript

El algoritmo de clasificación de selección clasifica la lista al encontrar el número más pequeño de la lista sin clasificar y moverlo en la lista ordenada. El orden de selección divide la lista real en dos listas, una para números ordenados, mientras que la segunda lista es para los números no organizados restantes, inicialmente consideramos la lista completa como una lista no organizada.

El orden de selección funciona en una filosofía muy básica que es encontrar el número más pequeño en la matriz e intercambiarlo a la posición inicial (índice 0), luego encontrar el segundo número más pequeño de la matriz no organizada restante y colocarlo en la posición apropiada ( Primer índice) y así sucesivamente, de esta manera finalmente, obtendremos una matriz ordenada.

En este artículo, discutiremos cómo funciona la clasificación de la selección, para este propósito consideraremos un ejemplo para explicar cada paso para clasificar una matriz utilizando.

Cómo funciona la clasificación de la selección

Por ejemplo, considere la siguiente matriz y ordenárselo usando el orden de selección:

Paso 1

Inicialmente, tenemos una matriz de cinco elementos, en el índice cero tenemos un valor '9', y lo compararemos con el siguiente índice, si el valor del primer índice es menor que el valor del índice cero y luego a continuación. Comparará el valor del índice 1 con los elementos de matriz restantes.

Comparamos '1' con '8', '1' es menor que '8', por lo que nuevamente compararemos '1' con el valor del siguiente índice (3er índice),

'1' es menos que '2'.

Significa nuevamente '1' se comparará con el último índice donde encontramos un valor '4' que también es mayor que '1'.

Entonces, paso a paso, comparamos 1 con cada elemento de la matriz, como resultado, fuimos testigos de que '1' es el número más pequeño entre todos los elementos de la matriz.

Así que finalmente obtuvimos un valor ordenado para el índice 0.

Paso 2:

Ahora, después del paso 1, el valor en el índice cero está ordenado, por lo que ahora tenemos dos matrices, en el lado izquierdo una matriz ordenada y en el lado derecho una matriz sin clasificar:

Ordenaremos la matriz sin clasificar, por lo que inicialmente compararemos el índice uno con el índice dos, encontramos que '9' es mayor que '8'

Como '8' es menor que '9', por lo que desde aquí compararemos el valor del índice 2, que es '8' con los otros elementos de la matriz. Ahora '8' se compara con '2'

'2' es menor que '8', por lo tanto, en la próxima iteración compararemos '2' con los últimos elementos de la matriz. Compare '2' con '4':

Entonces, '2' es el elemento más pequeño entre todos los elementos de matriz no organizados, por lo que se intercambiará en el segundo índice, la matriz resultante después del segundo paso será:

Paso 3

Hasta ahora tenemos 2 elementos ordenados mientras aún, tres elementos no están organizados, ahora ordenaremos los elementos no clasificados restantes de la matriz, para este propósito, comparar el valor del índice 2 con el valor del índice 3, por lo que no habrá cambios. Como '8' es menor que '9' y en la próxima iteración, comparamos '8' con el valor del índice final.

Comparar '8' con '4', aquí '4' es menor que '8' y '4' es el último elemento de la matriz, por lo tanto, '4' se intercambiará con '8': y la matriz actualizada será:

Etapa 4:

Ahora, los primeros tres elementos están ordenados, compare el valor del índice 3 con el valor del índice 4, aquí '9' es mayor que '8' y no queda más elemento en la matriz para la comparación, por lo tanto, cambiamos el Valor del índice de Forth con el valor del tercer índice:

Finalmente, obtenemos una matriz ordenada, además, si se le indica a alguien que se ordene en orden descendente, se hará en orden inverso al encontrar el valor máximo.

Cómo implementar el orden de selección en JavaScript

Ahora, concluiremos el funcionamiento del orden de selección en términos de cada paso o cada pase y luego implementaremos el mismo concepto en JavaScript.

Después de completar el primer paso, obtenemos un valor mínimo en el índice 0, en el segundo paso, el segundo número más pequeño se desplaza en el primer índice, de manera similar, obtenemos un número adecuado en el índice adecuado después de completar el tercer y cuarto paso, no nos quedamos ' T necesita realizar la clasificación para el último índice, ya que solo nos queda un elemento y si todos los elementos anteriores en la matriz están ordenados, entonces el último elemento también se ordenará. Por lo tanto, concluimos que requerimos un total de pases "N-1" para clasificar una matriz. Ahora implementaremos este concepto de clasificación de selección en JavaScript:

función selection_sort (input_array)
dejar array_length = input_array.longitud;
para (deja i = 0; yo < array_length; i++)
Deje más pequeño = i;
para (dejar j = i+1; j < array_length; j++)
if (input_array [j] < input_Array[smallest])
más pequeño = j;


Si (más pequeño != i)
Let temp_val = input_array [i];
input_array [i] = input_array [Smallest];
input_array [Smallest] = temp_val;


return input_array;

const entradas_array = [9, 1, 8, 2, 4];
selection_sort (input_array);
consola.log ("matriz clasificada final:", input_array);

En la parte inicial del código, utilizamos el ".Propiedad de longitud "para verificar la longitud de la matriz real y almacenarla en una variable" array_length ", luego iteramos el bucle hasta que alcanza el índice" N-1 ". Inicialmente, en el bucle, consideramos que el índice actual tiene el valor más pequeño, por lo tanto, establecemos "Smallest = I" y a continuación usamos otro bucle for-loop para comparar el valor actual con los valores restantes de la matriz, y el bucle lo hará Comience desde "i+1". A continuación, escribimos el código para intercambiar el elemento una vez que encontramos el elemento más pequeño en la matriz.

Finalmente, utilizamos la consola.función de registro para imprimir la salida en la consola del navegador:

Conclusión

En este artículo, hemos aprendido cómo ordenar una matriz usando el orden de selección en JavaScript. En el algoritmo de clasificación de selección, elegimos el primer elemento de la lista o matriz y lo comparamos con el resto de los elementos de la matriz cuando encontramos el elemento más pequeño que lo cambiamos al índice inicial y luego cambia el segundo elemento menos al primer índice, y así sucesivamente, como resultado, obtuvimos una matriz donde los elementos clasificados están presentes en el lado izquierdo y los elementos no organizados están presentes en el lado derecho de la matriz. De esta manera, una matriz ordenada final se construye utilizando el orden de selección en JavaScript. Entendemos la lógica detrás del algoritmo de clasificación de selección al considerar un ejemplo y explicar su trabajo paso a paso. Una vez que entendemos cómo funciona la clasificación de la selección, lo implementamos en JavaScript.