Saltar al contenido

Cómo implementar algoritmo de ordenación de selección en JavaScriptNov, 6thIn este tutorial, vamos a aprender sobre algoritmo de ordenación por selección y su …

marzo 13, 2020

 

En este tutorial, vamos a aprender acerca algoritmo de ordenación por selección y su implementación en JavaScript.

Qué es la selección especie?

Selección tipo de clasificación es un algoritmo realiza complexity.It con un tiempo O (n2) muy lento en grandes conjuntos de datos.

¿Cómo funciona la selección ordenar?

ordenación por selección comienza con la elección de un elemento mínimo y la compara con la matriz sin clasificar.

Ejemplo:

1.) [4,3,5,2] selección

  • elige tipo 4 como el elemento mínimo y se inicia comparándolo contra la parte restante de la matriz si cualquier elemento que es menor que 4, entonces necesidad de it.2 swap.) [2,3,5,4].
  • Después de cambiar ahora se elige 3 como un elemento mínimo y comienza comparando con parte restante de la matriz no hay ningún elemento que es menor que 3, de manera que nos movemos con el elemento siguiente que está 5.
  • Ahora 5 es un elemento mínimo pero nos encontrar el elemento 4, que es menor que 5 por lo que cambiarla. selección

elige tipo 4 como el elemento mínimo y comienza comparándolo contra la parte restante de la matriz si cualquier elemento que es menor que 4 entonces tenemos que cambiarlo.

2.) [2,3,5,4].

matriz ordenada definitiva [2,3,4,5] aplicación

Algoritmo

Hasta el momento se han conseguido algún conocimiento acerca de cómo funciona la selección especie, por lo que vamos a implementar el algoritmo de ordenación por selección ahora.

function selectionSort(arr){

return arr
}

Ahora tenemos que utilizar dos bucles for uno es para elegir el elemento mínimo y el segundo es comparándola con la parte restante de la matriz sin clasificar y actualiza el elemento mínimo.

function selectionSort(arr) {

for (var i = 0; i < arr.length; i++) { let min = i; // storing the index of minimum element for (var j = i + 1; j < arr.length; j++) { if (arr[min] > arr[j]) {
min = j; // updating the index of minimum element
}
}
}
return arr
}

El último paso que necesitamos de intercambio.

function selectionSort(arr) {

for (var i = 0; i < arr.length; i++) { let min = i; // storing the index of minimum element for (var j = i + 1; j < arr.length; j++) { if (arr[min] > arr[ j ]) {
min = j; // updating the index of minimum element
}
}

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

Incluso puede utilizar matriz destructing para el bombeo de los elementos.

function selectionSort(arr) {

for (var i = 0; i < arr.length; i++) { let min = i; // storing the index of minimum element for (var j = i + 1; j < arr.length; j++) { if (arr[min] > arr[j]) {
min = j; // updating the index of minimum element
}
}

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

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

segunda forma de ejecución utilizando el método de mapa JavaScript