Вы находитесь на странице: 1из 4

Programacin II.

III Ingeniera en Computacin


I Unida: Introduccin al ordenamiento y la bsqueda.
Tema: Ordenamiento Mtodo de la Burbuja.

Los algoritmos de ordenamiento nos permiten, como su nombre lo dice, ordenar.


En este caso, nos servirn para ordenar vectores o matrices con valores
asignados aleatoriamente. Nos centraremos en los mtodos mas populares,
analizando la cantidad de comparaciones que suceden, el tiempo que demora y
revisando el cdigo, de cada algoritmo

Los algoritmos de ordenamiento, tales como Ordenamiento de burbuja y el


Ordenamiento Rpido (QuickSort), ordenan tems en una lista en un orden
en particular. Comprender los algoritmos de ordenamiento puede ayudarle a
entender, analizar y comparar distintas maneras de resolver un problema .

El mtodo de la burbuja es uno de los mas simples, es tan fcil como comparar
todos los elementos de una lista contra todos, si se cumple que uno es mayor o
menor a otro, entonces los intercambia de posicin.

Los algoritmos de ordenamiento son algoritmos que ordenan los tems en una lista
en un cierto orden. Por ejemplo, puede utilizar un algoritmo de ordenamiento para
ordenar una lista de estudiantes en orden ascendente de su apellido. En la poca
de los primeros procesamientos de daros, el ordenamiento era un problema muy
importante. En estos das, puede encontrar capacidades de ordenamiento bsicas
ya integradas en libreras populares y estructuras de daros. Por ejemplo, en el
.NET Framework puede hacer uso del mtodo Array.Sort para ordenar un arreglo.
Sin embargo, an es importante mirar el ordenamiento como una manera de
comprender la resolucin de un problema y anlisis de algoritmos.

En este documento, le echar un vistazo al algoritmo de ordenamiento:


ordenamiento de burbua.

Ordenamiento de Burbuja:

El algoritmo de ordenamiento de burbuja utiliza una serie de operaciones de


comparacin e intercambio para ordenar una lista en el orden correcto.

El ordenamiento de burbuja funciona comparando dos elementos para verificar si


estn fuera de lugar, si lo estn, los intercambia. El algoritmo contina haciendo
esto hasta que la lista entera est en el orden deseado. El ordenamiento de
burbuja obtiene su nombre de la manera en que funciona el algoritmo. Como el
algoritmo progresa, los tems ms pequeos son "burbujeados'" hacia arriba.
Visualicemos el ordenamiento de burbuja con ayuda de un ejemplo. Digamos que
desea ordenar todos los tems en la siguiente lista en orden ascendente: (20, 30,
10, 40). Los tems deberan ser ordenados en orden del ms pequeo al ms
grande. El algoritmo de ordenamiento de burbuja intenta solucionar este problema
en una o ms pasadas, con cada pasada escaneando completamente la lista de
tems. Si el algoritmo encuentra elementos fuera de lugar, los intercambia. El
algoritmo termina cuando escanea roda la lista sin intercambiar ningn elemento,
si no hubo intercambios entonces ninguno de los elementos est fuera de lugar y
la lista ha sido completamente ordenada.

Pasada 1:

Pas Antes Despus Comentarios


o
1 20,30,10,4 20,30,10,4 El algoritmo compara los primeros dos
0 0 elementos (20 y 30) y ya que estn en el
orden correcto, no es necesario el
intercambio.
2 20,30,10,4 20,10,30,4 El algoritmo compara los siguientes dos
0 0 elementos (30 y 10) y ya que estn fuera de
lugar, los elementos son intercambiados.
3 20,10,30,4 El algoritmo compara los siguientes dos
0 elementos (30 y 40) y ya que estn en el
orden correcto, no es necesario el
intercambio.

Al final de la primera pasada el ordenamiento de burbuja ha desempaado un


intercambio, pero hay posibilidad de que los tems an no estn completamente
ordenados. De manera que el ordenamiento de burbuja da otra pasada a la lista.

Pasada 2:

Pas Antes Despus Comentarios


o
1 20,10,30,4 10,20,30,4 El algoritmo compara los primeros dos
0 0 elementos (20 y 10) y como estn fuera de
lugar, los elementos son intercambiados
2 10, 10,20,30,4 El algoritmo compara los siguientes dos
20,30,40 0 elementos (20 y 30) y ya que estn en el
orden correcto, no es necesario el
intercambio.
3 10,20,30,4 10,20,30,4 El algoritmo compara los siguientes dos
0 0 elementos (30 y 40) y ya que estn en el
orden correcto, no es necesario el
intercambio.

Al final de la segunda pasada, el ordenamiento de burbuja ha desempeado un


intercambio y an no puede garantizar que la lista est completamente ordenada.
De manera que el ordenamiento de burbuja da otra pasada a la lista:
Pasada 3

Pas Antes Despus Comentarios


o
1 10,20,30,4 10,20,30,4 El algoritmo compara los siguientes dos
0 0 elementos (10 y 20), ya que estn en el orden
correcto, no es necesario el intercambio.
2 10,20,30,4 10,20,30,4 El algoritmo compara los siguientes dos
0 0 elementos (20 y 30) y ya que estn en el
orden correcto, no es necesario el
intercambio.
3 10,20,30,4 10,20,30,4 El algoritmo compara los siguientes dos
0 0 elementos (30 y 40) y ya que estn en el
orden correcto, no es necesario el
intercambio.

Al final de la tercera pasada, el ordenamiento de burbuja no realiz ningn


intercambio.

Eso garantiza que la lista ahora est ordenada y el algoritmo puede finalizar.

En C# este algoritmo puede ser expresado por el siguiente mtodo:

staticint[]BubbleSort(int[]numbers)
{
boolswapped;

do
{
swapped=false;
for(inti=0;i<numbers.Length1;i++)
{
if(numbers[i]>numbers[i+1])
{
//swap
inttemp=numbers[i+1];
numbers[i+1]=numbers[i];
numbers[i]=temp;
swapped=true;
}
}
} while(swapped==true);
returnnumbers;

Вам также может понравиться