Bubble Sort (Intercambio directo)
El método de intercambio directo, conocido coloquialmente con el nombre de la burbuja, es el más utilizado por los estudiantes principiantes de computación, por su fácil comprensión y programación. Pero es preciso señalar que es probablemente el método más ineficiente (Para eficientes tenemos el Ordenamiento Rápido).
El método de intercambio directo puede trabajar de dos maneras diferentes.
- llevando los elementos más pequeños hacia la parte izquierda del arreglo.
- llevando los elementos más grandes hacia la parte derecha del mismo.
La idea básica de este algoritmo consiste en comparar pares de elementos adyacentes e intercambiarlos entre sí hasta que todos se encuentren ordenados. Se realizan N-1 pasadas, transportando en cada una de las mismas el menor o mayor elemento (Según sea el caso) su posición ideal. Al final de las N-1 pasadas los elementos del arreglo estarán ordenados.
la siguiente, es una implementación en Pseudocódigo, donde A es un arreglo de N elementos
BURBUJA(A,N)
{I, J y AUX son variables de tipo entero}
1. Repetir con I desde 2 hasta N
1.1 Repetir con J desde N hasta I
1.1.1 Si A[J-1] > A[J] entonces
Hacer AUX ? A[J-1]
A[J-1] ? A[J]
A[J] ? AUX
1.1.2 {Fin del condicional del paso 1.1.1}
1.2 {Fin del ciclo del paso 1.1}
2. {Fin del ciclo del paso 1}
Implementación en PHP.
function burbuja($A){
$N = count($A)-1;
for($i=1;$i < = $N;$i++)
for($j=$N;$j>=$i;$j--)
if($A[$j-1]>$A[$j]){
$aux = $A[$j-1];
$A[$j-1] = $A[$j];
$A[$j] = $aux;
}
return $A;
}
- Aquí una simulación de las comparaciones que se tienen que realizar para llevar a cabo dicho algoritmo.
- Y aqui su implementación en Turbo C
- Implementación en Turbo Pascal
5 Comments
Comments RSS Feed TrackBack URL
Sorry, the comment form is closed at this time.




December 20th, 2006 at 10:27 am
Muy buena la explicacio, y para modo de aprendizaje es importante verla. Sin embargo es igual de importante saber que existen otros algoritmos muchisimo mas eficientes, como el QuickSort. El QuickSort trabaja con la idea de: divides y venceras.
Esta muy bueno el blog, tiene mucho material y muy completo!
December 20th, 2006 at 5:11 pm
Gracias
December 27th, 2006 at 3:29 am
Ordenamiento Rápido (Quicksort)
El ordenamiento rápido (quicksort en inglés) es un algoritmo basado en la técnica de divide y vencerás, que permite, en promedio, ordenar n elementos en un tiempo proporcional a n log n. Esta es la técnica de ordenamiento más rápida conocida. Fu...
April 18th, 2007 at 3:30 pm
lo que sucede es que hay explicaciones para cualquier clase de lenguajes de programacion pero no para diagramas de flujo cuyo lenguaje es el dfd
July 15th, 2007 at 11:47 am
mm muy bueno pero porq no pones alguna idea tuya ... deja de copiar lo q esta escrito en el libro de "Estructuras de datos" - "Cairó Guardati"