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 al comienzo de la lista. 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 considera la lista completa como una lista sin clasificar.

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'.

Así que paso a paso comparamos 1 con cada elemento de la matriz y, 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 secciones, 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 que tres elementos no están clasificados. Ahora ordenaremos los elementos restantes de la matriz. Para este propósito, compare el valor del índice 2 con el valor del índice 3, por lo que no habrá cambios ya que '8' es menor que '9'. En la siguiente iteración, comparamos '8' con el valor del índice final.

Aquí '4' es menos que '8' y '4' es el último elemento de la matriz, por lo tanto, '4' se cambiará 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 y luego implementaremos el mismo concepto en JavaScript.

Después de completar el primer paso, obtenemos el valor mínimo en el índice 0, en el segundo paso el segundo número más pequeño se desplaza al primer índice. Del mismo modo, obtenemos un número adecuado en el índice adecuado después de completar el tercer y cuarto paso.

No necesitamos 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 "N-1" Pasos para ordenar 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; yoDeje más pequeño = i;
para (dejar j = i+1; j if (input_array [j] smallest = 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 ".longitud" propiedad para verificar la longitud de la matriz real y almacenarla en una variable "array_length", luego iteraremos 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 el consola.registro() Función a la salida en la consola del navegador:

Conclusión

En el algoritmo de clasificación de selección, encontramos el elemento más pequeño. Lo cambiamos al índice inicial, luego cambiamos el segundo elemento menos al primer índice, y así sucesivamente. Como resultado, obtenemos 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.

En este artículo, hemos aprendido cómo ordenar una matriz usando 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.