Escolar Documentos
Profissional Documentos
Cultura Documentos
Entonces:
Dado un vector a1, a2, a3, ... an
1) Comparar a1 con a2 e intercambiarlos si a1>a2 (o
a1<a2)
2) Seguir hasta que todo se haya comparado an-1 con an
3) Repetir el proceso anterior n-1 veces</a
Algoritmo:
Complejidad
2
T(n )
T(n)
T(1)
aux=vec[j];
T(1)
vec[j]=vec[j+1];
T(1)
vec[j+1]=aux;}
T(1)
}
}
El procedimiento de la burbuja es el siguiente:
Ir comparando desde la casilla 0 numero tras nmero hasta encontrar uno
mayor, si este es realmente el mayor de todo el vector se llevar hasta la ltima
casilla, si no es as, ser reemplazado por uno mayor que l.
Este procedimiento seguir as hasta que halla ordenado todas las casillas del
vector.
Una de las deficiencias del algoritmo es que ya cuando a ordenado parte del
vector vuelve a compararlo cuando esto ya no es necesario.
Ejemplo:
Vector
Variables
pos
a[j] a[j+1]
inicio
44
55
12
42
94
18
67
55 12
cambio
44
12
55
42
94
18
67
55 42
cambio
44
12
42
55
94
18
67
94 18
cambio
44
12
42
55
18
94
67
94 6
cambio
44
12
42
55
18
94
67
94 67
cambio
44
12
42
55
18
67
94
44 12
cambio
12
44
42
55
18
67
94
44 42
cambio
12
42
44
55
18
67
94
55 18
cambio
42
44
18
55
67
94
55 6
cambio
12
42
44
18
55
67
94
44 18
cambio
12
42
18
44
55
67
94
44 6
cambio
12
42
18
44
55
67
94
42 18
cambio
12
18
42
44
55
67
94
42 6
cambio
12
18
42
44
55
67
94
18 6
cambio
12
18
42
44
55
67
94
12 6
ordenado 6
12
18
42
44
55
67
94
ORDENAMIENTO BURBUJA
Descripcin
Una manera simple de expresar el ordenamiento de burbuja en pseudocdigo es la
siguiente:
Que en este caso ser de 2 a 5. Para cada uno de los valores de i, j tomara
sucesivamente los valores de 0 hasta n-i:
Para cada valor de j, obtenido en ese orden, se compara el valor del ndice j con el
siguiente:
Si el termino j es mayor que el termino j+1, los valores se permutan, en caso contrario
se contina con la iteracin.
Para el caso del ejemplo, tenemos que:
Se repite el proceso hasta que j valga 3, dando lugar a una lista parcialmente
ordenada, podemos ver que el termino de mayor valor esta en el lugar ms alto.
Hay que tener en cuenta que el bucle realiza un nmero fijo de repeticiones y para
finalizar tendrn que completarse, aun en el caso extremo, de que la lista estuviera
previamente ordenada.
Por ltimo i vale 5 y j solo puede vale 0, con lo que solo se realizara una comparacin
de
el 16 y el 48, que ya estn ordenados y se dejan igual.
Los bucles finalizan y tambin el procedimiento, dejando la lista ordenada.
Una variante que finaliza en caso de que la lista est ordenada, puede ser la siguiente:
como en el ejemplo anterior, empleando un centinela ordenado, que detecta que no
se ha modificado la lista en un recorrido de la burbuja, y que por tanto la lista ya est
ordenada, finalizando.