Ordenamiento por selección práctico en JavaScript

Beginner

This tutorial is from open-source community. Access the source code

Introducción

En este laboratorio, exploraremos el algoritmo de selección y aprenderemos cómo usarlo para ordenar una matriz de números en JavaScript. Este laboratorio tiene como objetivo brindar una experiencia práctica con el algoritmo de selección y ayudarte a comprender cómo funciona por debajo de los paneles. Al final de este laboratorio, tendrás una comprensión sólida del algoritmo de selección y serás capaz de aplicarlo para resolver problemas de clasificación en tus futuros proyectos.

Algoritmo de selección

Para comenzar a codificar, abre la Terminal/SSH y escribe node.

La siguiente función ordena una matriz de números utilizando el algoritmo de selección:

const selectionSort = (arr) => {
  const a = [...arr];
  for (let i = 0; i < a.length; i++) {
    const min = a
      .slice(i + 1)
      .reduce((acc, val, j) => (val < a[acc] ? j + i + 1 : acc), i);
    if (min !== i) [a[i], a[min]] = [a[min], a[i]];
  }
  return a;
};

Para usar la función, pasa una matriz de números a selectionSort(), así:

selectionSort([5, 1, 4, 2, 3]); // [1, 2, 3, 4, 5]

La función funciona clonando la matriz original utilizando el operador de propagación (...). Luego itera sobre la matriz utilizando un bucle for. Utilizando Array.prototype.slice() y Array.prototype.reduce(), encuentra el índice del elemento mínimo en la submatriz a la derecha del índice actual. Si es necesario, realiza un intercambio.

Resumen

¡Felicitaciones! Has completado el laboratorio de selección. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.