sábado, 19 de febrero de 2011

METODO BURBUJA.... ¿Que es?

Buen día, se que este tema ya esta saturado en Internet pero les pondré solo la información mas importante de este tema.




DEFINICIÓN
Este algoritmo de ordenamiento (descendente o ascendente) se basa en el principio de comparar pares de elementos adyacentes e intercambiar entre si hasta que estén todos ordenados.

EJEMPLO

Supogamos que se desea clasificar en orden ascedente el vector o lista

50 ---- 15 --- 56 --- 14 --- 35 --- 1 ---- 12 ---- 9
A[1] -A[2] -A[3] -A[4] -A[5] -A[6] -A[7] -A[8]

Los pasos para ordenarlo son:
1.- Comparar A[1] y A[2]; si estan en orden, se mantiene como estan; en caso contrario, se intercambian entre si.
2.- A continuacion se compara los elementos 2 y 3; de nuevo se intercambian si es necesario.
3.- El proceso continua hasta que cada elemento del vector ha sido comparada con sus elementos adyacentes y se han realizado los intercambios necesarios.

En pseudocodigo lo fundamental es (el metodo):

desde i=1 hasta 7 hacer
si elemento[i] > elemento [i+1] entonces
aux=A[i]
A[i]=A[i+1]
A[i+1]=aux
fin_si
fin_desde

NOTA: las palabras en negritas son propias del lenguaje.

DATOS IMPORTANTES DEL MÉTODO BURBUJA

Este es el método más simple y antiguo para ordenar un conjunto de datos, es
también el más lento.

El algoritmo burbuja tiene dos bucles for internos que recorren el vector
comparando el elemento j-esimo-1 con el elemento con el j-esimo elemento y en
caso de que este sea mayor hace un cambio de los elementos.

Al tener dos bucles internos el comportamiento es en general O(n^2), y en las mejores
condiciones se comporta como O(n).

Este es un link de un ejemplo en codigo en lenguaje c.
http://rapidshare.com/files/448851279/metodo_burbuja.c

Estoy abierto a cualquier duda o error que pude haber causado.

No hay comentarios:

Publicar un comentario