Está en la página 1de 17

Instituto Politécnico Nacional

Algoritmo de
Ordenamiento
Simple

Método de Burbuja
Algoritmos
Computacionales
Unidad Profesional Interdisciplinaria de
Ingeniería y Ciencias Sociales y
Administrativas

“La técnica al
servicio de la patria”
Métodos de Ordenamiento Simple
Antes de ver esta presentación es
recomendable ver las presentaciones
Búsqueda secuencial
Búsqueda binaria
ya que se explican con mayor detalle los
pasos comunes en los métodos.

2
• El método de burbuja es de baja complejidad,

Métodos de Ordenamiento Simple


fácil de programar.
• Es un método poco eficiente, ya que requiere
muchas pasadas y comparaciones para
ordenar los datos.
• El ordenamiento de burbuja básicamente se
presenta en tres formas:
– Burbuja - Comparación de un elemento contra el
resto de los elementos.
– Burbuja Mejorado – Igual que el de burbuja,
pero se agrega una comparación de intercambio
por pasada.
Burbuja

Método de Burbuja
Bubble Sort
Método clásico
Comparación de un elemento contra el resto de los
elementos.
Antes de ver esta presentación es

Método de Burbuja
recomendable ver las presentaciones de:
Búsqueda secuencial y binaria
Ya que se explican con mayor detalle los
pasos que son comunes los métodos.

5
Proceso de Ordenamiento Burbuja

1.- Se define el arreglo o vector.


int arreglo [5];

Método de Burbuja
2.- Capturar los datos en el arreglo
for (i=0; …..
cin>>arreglo[i];

arreglo 40 6 14 3 20
Apuntadores o
0 1 2 3 4
Punteros

Recuerde:
Arreglo [0]  Esto significa que se hace referencia a la casilla, elemento o
apuntador 0 (cero) en donde se encuentra el numero 40.

40 6 14 3 20
0 1 2 3 4
Proceso de Ordenamiento Burbuja
3.- Se compara el primer elemento contra el resto de
los elementos integrantes del arreglo.
If arreglo [0] > arreglo [1]  Comparación

Método de Burbuja
40 6 14 3 20 Apuntadores o
0 1 2 3 4
Punteros

4.- Intercambio. Si el contenido del elemento 0 es


mayor que el contenido del elemento 1 se
efectúa un intercambio.
6 40 14 3 20
0 1 2 3 4

A continuación se muestra como se efectúa el intercambio


Proceso de Ordenamiento Burbuja
Intercambio
x = arreglo [0];
arreglo[0] = arreglo [1];

Método de Burbuja
arreglo[1] = arreglo [0];

1 40 6 14 3 20 Se copia el contenido de la casilla 0 en


la variable auxiliar
0 1 2 3 4
40 2

6 6 14 3 20 Se copia el contenido de la casilla


1 a la casilla 0
0 1 2 3 4

6 40 14 3 20 Se copia el contenido
40 3 0 1 2 3 4 del auxiliar en la
casilla 1
Estas operaciones
Proceso de Ordenamiento Burbuja de comparación
se pueden

Ordenamiento Simple - Método de Burbuja


integrarse en una
5.- Continua la comparación con el instrucción For
resto de los elementos
If arreglo [0] > arreglo [2] Comparación
6 es menor que 14 por lo
6 40 14 3 20 tanto no hay intercambio y
continua la comparación
0 1 2 3 4
If arreglo [0] > arreglo [3] Comparación
6 es mayor que 3 por lo
6 40 14 3 20
Pasada 1

tanto hay intercambio


0 1 2 3 4
Se efectúa el Intercambio

3 40 14 6 20
0 1 2 3 4
If arreglo [0] > arreglo [4] Comparación

3 40 14 6 20
3 es menor que 20
por lo tanto no hay
0 1 2 3 4
intercambio
Proceso de Ordenamiento Burbuja

Ordenamiento Simple - Método de Burbuja


5.- Pasada 1
Se comparo el contenido de la casilla 0 con el resto de casillas del
arreglo, a esto se le denomina Pasada 1.

El resultado de esta comparación dejo los datos en el arreglo como


siguen:

3 40 14 6 20
0 1 2 3 4

Este método establece que se deben efectuar tantas pasadas


como datos menos uno se tengan (n-1)

Eso es lo que provoca que este método no sea el mejor para


ordenar datos.
Proceso de Ordenamiento Burbuja

Ordenamiento Simple - Método de Burbuja


5.- Pasada 1
Observe como se van intercambiando los datos en el
proceso de comparación.

40 6 14 3 20
Comparación,
se requiere intercambio 

6 40 14 3 20
0 1 2 3 4
 Intercambio
P
A
S
Comparación, no hay intercambio  6 40 14
0 1 2
3 20
3 4

6 40 14 3 20
A Comparación 0 1 2 3 4
D se requiere intercambio 

3 40 14 6 20
A 0 1 2 3 4
 Intercambio

3 40 14 6 20
1 0 1 2 3 4
Comparación, no hay intercambio 

0 1 2 3 4
Proceso de Ordenamiento Burbuja

Ordenamiento Simple - Método de Burbuja


6.- Pasadas
En la pasada 1 se comparará la casilla 0 contra todas las demás, este ya esta ordenado
En la pasada 2 se comparará la casilla 1 contra todas las demás, este ya esta ordenada
En la pasada 3 se comparará la casilla 2 cont…………
Así hasta que todos los elementos estén ordenados.
Observe el ejemplo siguiente
Observe como se van
ordenando los datos

Original  40 6 14 3 20
P
 3 40 14 6 20
0 1 2 3 4
A Resultado de la Pasada 1
S
 3 6 40 14 20
0 1 2 3 4
A Resultado de la Pasada 2
D
 3 6 14 40 20
0 1 2 3 4
A Resultado de la Pasada 3
S
 3 6 14 20 40
0 1 2 3 4
Resultado de la Pasada 4
0 1 2 3 4

El método establece que se efectúan “n” menos 1 (n-1) pasadas para que el arreglo quede ordenado.
Por lo tanto si contamos con un arreglo de 1,000,000 elementos , el método establece que se deberán
efectuar 999,999 pasadas.
Método de Burbuja Mejorado
Burbuja mejorado
Comparación de un elemento contra el
resto de los elementos y comparación
de intercambio por pasada.
Proceso de Ordenamiento Burbuja Mejorado
• El método de burbuja clásico, se efectúan n-1 pasadas,
pero que pasa si ya quedaron ordenados los datos, desde la
primera pasada se siguen ejecutando las pasadas, esto

Método de Burbuja Mejorado


provoca que el procesador efectué operaciones sin un
sentido.
• Para evitar esto, adicionalmente a las actividades que se
efectúan en cada pasada se debe verificar si se realizo
algún intercambio en la pasada, si la respuesta es positiva
continua la ejecución de la siguiente pasada, en caso
contrario se termina el programa indicando que la
estructura de datos (arreglo, matriz, archivo, tabla ) están
ordenados .
• Eficiencia. Si los datos del arreglo se encuentran muy
desordenados no hay gran diferencia en aplicar el método
de burbuja clásico o el método de burbuja mejorado. Pero
si los datos no tienen tanto desorden se observa una gran
diferencia.
Proceso de Ordenamiento Burbuja Mejorado
• Con el método de burbuja clásico, se efectuarían n-1
pasadas en cualquier caso.

Método de Burbuja Mejorado


Original  40 6 14 3 20
P
3 40 14 6 20
0 1 2 3 4
A Resultado Pasada 1  ¿Si se realizo intercambio continua?
S
A Resultado Pasada 2  3 0 6 1 40
2
14 20
3 4 ¿Si se realizo intercambio continua?
D
Resultado Pasada 3  3 6 14 40 20
0 1 2 3 4 ¿Si se realizo intercambio continua?
A
S
Resultado Pasada 4  3 6 14 20 40
0 1 2 3 4

0 1 2 3 4

En este ejemplo, si se aplicara el método de


burbuja mejorado, no habría cambio, porque en
todas las pasadas hubo un intercambio.
Proceso de Ordenamiento Burbuja Mejorado

¿Pero si los datos no estuvieran tan desordenados?

Método de Burbuja Mejorado


Original  8 4 3 9 12
P
3 4 8 9 12
0 1 2 3 4 ¿Si se realizo intercambio continua?
A Resultado Pasada 1 
S
A Resultado Pasada 2  3 0
41
8
2
93
12
4 ¿Si se realizo intercambio continua?

D
3 4 8 9 12
0 1 2 3 4 Ya no se haría esta pasada
A
S
3 4 8 9 12 Ya no se haría esta pasada
0 1 2 3 4

0 1 2 3 4

En este ejemplo, si se aplicará el método de


burbuja mejorado, detectaría que en la pasada 2 ya
no se realizo intercambio y termina el programa
• Sznajdleder Pablo, Algoritmos a fondo, Editorial
Alfaomega,México 2012.

• Baase Sara, Van Gelder Allen, Algoritmos computacionales,


Introducción al análisis y diseño, Editorial Addison Wesley,
Tercera edición, México 2002, págs. 686, ISBN 970-6-0142-8.

BIBLIOGRAFÍA
• Brassard G., Bratley P., Fundamentos de Algoritmia, Editorial
Prentice Hall, México 1997, págs. 608, ISBN 84-89660-00-X.

• López Gustavo, Jeder Ismael, Vega Augusto, Análisis y Diseño de


Algoritmos, Implementación en C y Pascal, Editorial Alfaomega,
México 2009, págs. 309, ISBN 978-987-23113-9-1.

• Sisa Alberto Jaime, Estructura de datos y algoritmos, con énfasis


en programación orientada a objetos, Editorial Prentice Hall,
México 2002, págs. 310, ISBN 958-699-044-3.

17

También podría gustarte