0% encontró este documento útil (0 votos)
74 vistas13 páginas

pCwZdyIT6DuzU0zG - 6lSWBWreyylHyMrX-Algoritmo de Ordenamiento Burbuja

El algoritmo de ordenamiento burbuja ordena un arreglo realizando múltiples recorridos sobre él. En cada recorrido, cada par de elementos consecutivos es comparado y, de estar desordenados, son intercambiados. Esto tiene el efecto de ubicar el mayor elemento en la última posición tras el primer recorrido, el segundo mayor en la penúltima posición tras el segundo recorrido, y así sucesivamente hasta ordenar completamente el arreglo. Se requieren a lo sumo n-1 recorridos para ordenar un arreglo

Cargado por

pruebas pruebas
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
74 vistas13 páginas

pCwZdyIT6DuzU0zG - 6lSWBWreyylHyMrX-Algoritmo de Ordenamiento Burbuja

El algoritmo de ordenamiento burbuja ordena un arreglo realizando múltiples recorridos sobre él. En cada recorrido, cada par de elementos consecutivos es comparado y, de estar desordenados, son intercambiados. Esto tiene el efecto de ubicar el mayor elemento en la última posición tras el primer recorrido, el segundo mayor en la penúltima posición tras el segundo recorrido, y así sucesivamente hasta ordenar completamente el arreglo. Se requieren a lo sumo n-1 recorridos para ordenar un arreglo

Cargado por

pruebas pruebas
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 13

ALGORITMO DE ORDENAMIENTO BURBUJA

El segundo algoritmo que será estudiado es el algoritmo de ordenamiento burbuja.

En el ordenamiento por selección, cada recorrido ubicaba primero los valores menores en sus
posiciones definitivas. En contraste, el algoritmo de burbuja hace lo propio primero con los valores
mayores usando un mecanismo distinto. No obstante, los dos algoritmos se asemejan en su sencillez
y facilidad de implementación.

En el ordenamiento burbuja, cada pareja de valores en posiciones consecutivas del arreglo es


comparada y, en caso de no estar en orden, los valores son intercambiados.

El proceso se realiza recorriendo el arreglo de izquierda a derecha, esto es, desde la pareja en las
posiciones 0 y 1 hasta la pareja en posiciones n-2 y n-1.

El resultado de la primera iteración de este proceso es que el mayor valor en el arreglo es ubicado
en la posición n-1. Si se realiza el proceso una segunda vez, esta vez ignorando la posición n-1, al
finalizar se tendrá el segundo mayor valor del arreglo en la posición n-2. Después de k recorridos
similares sobre el arreglo, las últimas k posiciones contendrán los k mayores valores del arreglo,
ordenados.

Posición 1 Posición 2 Posición Posición


n-1 n-2

Pareja Pareja
Recorrido

Una cantidad máxima de n-1 recorridos es necesaria para ordenar el arreglo, sin embargo, es posible
que el objetivo sea alcanzado en menos recorridos.

Las flechas azul y verde recorren las parejas de posiciones consecutivas del arreglo. Inicialmente se
comparan las posiciones primera y segunda.
En este caso, el ser 5 mayor que 2, los valores son intercambiados.

Posición 1

Ahora, se comparan los valores en las posiciones segunda y tercera. En este caso, los dos valores
se encuentran ya en orden, esto es, 5 es menor que 8, por lo que no se hace modificación al arreglo.
Posición 2

Se comparan las posiciones tercera y cuarta. Dado que los valores están en orden no se hacen
cambios.

Posición 3

Los valores en las posiciones cuarta y quinta no se encuentran ordenados. Esto obliga a que sean
intercambiados.
Posición 4

Los valores en las posiciones quinta y sexta no están en orden, así que son intercambiados.
Posición 5

9 es mayor que 4, por tanto, los valores intercambian su lugar.


Finalmente, el 9 es intercambiado con el 6

Como se puede observar, el mayor valor del arreglo, en este caso el 9, ha sido
desplazado hasta la última posición, su posición correcta.
Dado que el arreglo aún no se encuentra ordenado, debe hacerse un nuevo
recorrido, en donde se compara el 2 y el 5 y están en orden. Pero se compara el 8
y el 3 y como el 8 es mayor, son intercambiados de lugar.
En los siguientes pasos del recorrido, el 8 intercambiará lugares con cada uno de
los valores siguientes, hasta situarse en la penúltima posición del arreglo.
El arreglo aún no se encuentra ordenado. Se inicia un nuevo recorrido.
Aunque el arreglo está casi ordenado, un cuarto recorrido es necesario. El 2 y 3 se
encuentran ordenados por lo que mantienen sus posiciones.
Como resultado del proceso hasta este punto, los cuatro mayores valores del arreglo, 6, 7, 8 y 9, se
encuentran en sus posiciones definitivas. Más aún, un último recorrido sobre el arreglo permite
observar que éste se encuentra ya ordenado. De esta forma, concluye la ejecución del algoritmo. Al
igual que el algoritmo de selección, el ordenamiento es realizado sobre el mismo arreglo de entrada.

Pseudocódigo del algoritmo de burbuja.

A continuación, se presenta una implementación en pseudocódigo del algoritmo de burbuja.

La variable “esta_ordenado” indica si el arreglo ya se encuentra ordenado o no. Esta variable señala
el fin del algoritmo.

Al iniciar, no hemos explorado el arreglo y por tanto se asume que no se encuentra ordenado. Esto
se representa en el programa dándole a “esta_ordenado” un valor inicial de falso.

Cada recorrido deja al menos un valor del arreglo en su posición definitiva, por lo que no es necesario
escrutar dicha posición nuevamente. La variable “ultimo_no_ordenado” sirve como delimitador de la
porción del arreglo que aún debe ser procesada.

Inicialmente, todo el arreglo debe ser revisado, por lo que está variable toma como valor n-1

El ciclo principal del programa hace múltiples recorridos por el arreglo hasta que éste quede
ordenado. Al iniciar cada recorrido, se cambia el valor de la variable “esta_ordenado” a verdadero.

Si en el transcurso del recorrido se detecta lo contrario, se pone su valor nuevamente en falso.

En cada recorrido, cada pareja de posiciones consecutivas es evaluada. En caso de no estar


ordenados, sus valores son intercambiados y el valor de “esta_ordenado” es actualizado.

Las flechas azul y verde de las gráficas anteriores son representadas en el pseudocódigo por j y j+1,
respectivamente.

Finalmente, la variable “ultimo_no_ordenado” es decrementada para que el valor que se acaba de


ubicar en su posición correcta no sea examinado nuevamente. Al finalizar el ciclo principal, el arreglo
está ordenado.

También podría gustarte