Saltar al contenido

Cómo implementar algoritmo de ordenación burbuja en JavaScriptJan, algoritmo de ordenación 3rdBubble es uno de los algoritmos más lentos con O (n …

marzo 13, 2020

 

algoritmo de ordenamiento de burbuja es una de las algoritmos con O (n2) la complejidad tiempo más lento. En el algoritmo de burbuja de datos tipo casi ordenados toma tiempo O (n).

Si usted no sabe acerca de Big O notación y logaritmos, por favor, echa un vistazo a mis tutoriales anteriores.

  • introducción a Big O
  • introducción a logaritmos

Cómo implementar la ordenación por burbuja?

En algoritmo de ordenamiento de burbuja, tenemos que comparar la elements.If adyacente a los elementos adyacentes se inwrong orden entonces tenemos que cambiarlos hasta que cada elemento se ordena en orden correcto. aplicación

Algoritmo

function bubbleSort(arr, length = arr.length) {
while (length) {
for (let i = 0; i < arr.length; i++) { if (arr[ i ] > arr[i + 1]) {
let temp = arr[ i ];
arr[ i ] = arr[i + 1];
arr[i + 1] = temp
}
}
length--;
}
return arr;
}

console.log(bubbleSort([3,9,2,29,1]))

// output - > [1, 2, 3, 9, 29]

En el código anterior, estamos comparando los elementos adyacentes de la matriz si el primer elemento es mayor que el segundo elemento nos cambiado ella.

aplicación ordenamiento de burbuja utilizando el método de mapa JavaScript

function bubbleSort(arr) {
arr.map(e1 => arr.map((e2, i) => {
if (arr[ i ] > arr[i + 1]) {
arr[ i ] = arr[i + 1];
arr[i + 1] = e2;
}
}))
return arr
}

La versión modificada usando gama desestructuración.

function bubbleSort(arr) {
arr.map(e1 => arr.map((e2, i) => {
if (arr[ i ] > arr[i + 1]) { // comparing adjacent elements
[arr[ i ],arr[i+1]]= [arr[i+1],arr[ i ]] // swapping
}
}))
return arr
}