Cómo implementar el algoritmo de clasificación de selección en JavaScript

En este tutorial, aprenderemos sobre el algoritmo de clasificación por selección y su implementación en JavaScript.

Índice
  1. ¿Qué es el ordenamiento por selección?
  2. ¿Cómo funciona el ordenamiento por selección?
    1. Implementación de algoritmos
    2. Segundo modo de implementación utilizando el método de mapa de JavaScript

¿Qué es el ordenamiento por selección?

La ordenación por selección es un algoritmo de ordenación con O(n2) complejidad temporal. Se ejecuta muy lentamente en conjuntos de datos más grandes.

¿Cómo funciona el ordenamiento por selección?

La ordenación por selección comienza eligiendo un elemento mínimo y comparándolo con la matriz no ordenada.

Ejemplo:

La ordenación por selección elige 4 como el elemento mínimo y comienza a compararlo con la parte restante de la matriz, si algún elemento es menor que 4, debemos cambiarlo.

Después del intercambio, ahora elige 3 como el elemento mínimo y comienza a comparar con la parte restante de la matriz, no hay ningún elemento menor que 3, por lo que pasamos al siguiente elemento, que es 5.

Pero 5 es un elemento mínimo, pero encontramos el elemento 4 que es más pequeño que 5, por lo que lo intercambiamos.

matriz ordenada final [ 2,3,4,5 ].

Implementación de algoritmos

Hasta ahora conoce cómo funciona la ordenación por selección, así que ahora implementemos el algoritmo de ordenación por selección.

function selectionSort(arr){
  return arr;
}

Ahora necesitamos usar dos bucles for, uno para elegir el elemento mínimo y el segundo para compararlo con la parte restante de la matriz no ordenada y actualizar el elemento mínimo.

function selectionSort(arr) {

    for (var i = 0; i < arr.length; i++) {

        let min = i; 

        for (var j = i + 1; j < arr.length; j++) {
            if (arr[min] > arr[j]) {
                min = j; 
            }
        }
    }
    return arr;
}

El último paso es que tenemos que intercambiar.

function selectionSort(arr) {

    for (var i = 0; i < arr.length; i++) {

        let min = i; 

        for (var j = i + 1; j < arr.length; j++) {
            if (arr[min] > arr[ j ]) {
                min = j; 
            }
        }

        if (i !== min) {
            let temp = arr[ i ];            arr[ i ] = arr[min];            arr[min] = temp;        }
    }
    return arr;
}

De manera similar, incluso puede usar la desestructuración de matrices para intercambiar los elementos.

function selectionSort(arr) {

    for (var i = 0; i < arr.length; i++) {

        let min = i; 

        for (var j = i + 1; j < arr.length; j++) {
            if (arr[min] > arr[j]) {
                min = j; 
            }
        }

        if (i !== min) {
            [arr[ i ],arr[min]]= [arr[min],arr[ i ]];        }
    }
    return arr
}

console.log(selectionSort([ 4,3,5,2 ])) 

Segundo modo de implementación utilizando el método de mapa de JavaScript



algoritmo de clasificación de selección usando el método de mapa de javascript

Si quieres conocer otros artículos parecidos a Cómo implementar el algoritmo de clasificación de selección en JavaScript puedes visitar la categoría Tutoriales.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Esta página web utiliza cookies para analizar de forma anónima y estadística el uso que haces de la web, mejorar los contenidos y tu experiencia de navegación. Para más información accede a la Política de Cookies . Ver mas