Ordenamiento burbuja1

Post on 08-Aug-2015

192 views 0 download

Transcript of Ordenamiento burbuja1

ORDENAMIENTO BURBUJA

“Bubble Sort”

HISTORIADeterminar con exactitud el origen del

ordenamiento burbuja es un poco complicado, ya que no existe información precisa sobre su origen.

Aunque en 1956 en un se encuentra expresado en un articulo al q llamaron “ordenamiento por intercambio”

Existe una amplia bibliografía de artículos del año 1962 donde mencionan tipos de ordenamiento basados en este patrón, pero ninguno de ellos usando el nombre como tal.

Sin evidente origen definitivo del nombre "burbuja“ se cierran sus orígenes mediante la consulta de los primeros artículos de revistas así como textos profesionales y pedagógicos de esta época.

Obtiene su nombre de la forma con la que suben por la lista los elementos durante los intercambios, como si fueran pequeñas "burbujas".

También es conocido como el método del intercambio directo. Dado que solo usa comparaciones para operar elementos, se lo considera un algoritmo de comparación, siendo el más sencillo de implementar.

FUNCIONAMIENTOFunciona revisando cada elemento de la lista

que va a ser ordenada con el siguiente, intercambiándolos de posición si están en el orden equivocado. Es necesario revisar varias veces toda la lista hasta que no se necesiten más intercambios, lo cual significa que la lista está ordenada.

SIMULACION

CODIGO class Bsort { public static void main(String args[]) { int nums[] = { 99, -10, 100123, 18, -978, 5623, 463, -9, 287, 49 }; int a, b, t; int dimen; dimen = 10; // numero de elementos a ordenar // despliega el arreglo original System.out.print("El arreglo origial es:"); for(int i=0; i < dimen; i++) System.out.print(" " + nums[i]); System.out.println(); // Oredenamos comparando. for(a=1; a < dimen; a++) for(b=dimen-1; b >= a; b--) { if(nums[b-1] > nums[b]) { // si està fuera de orden // intercambia elementos t = nums[b-1]; nums[b-1] = nums[b]; nums[b] = t; } } // despliega el arreglo ordenado System.out.print("El arreglo ordenado es:"); for(int i=0; i < dimen; i++) System.out.print(" " + nums[i]); System.out.println(); } }

DIAGRAMA DE FLUJO N-S