Está en la página 1de 8

UNIVERSIDAD TECNOLOGICA DE PANAMA

CENTRO REGIONAL DE PANAMA OESTE

FACULTAD DE ING. SISTEMAS COMPUTACIONALES


LIC. EN DESARROLLO Y GESTION DE SOFTWARE

ESTRUCTURA DE DATOS I
INVESTIGACION
METODO DE ORDENAMIENTO DE BURBUJA

INTEGRANTES

YAMELIS GONZALEZ (8-1015-182)


ANYEL CORONADO (8-1007-1441)
LESDIEL RODRIGUEZ (8-989-1564)
RENE REYES (8-1007-1927)

GRUPO

9GS211

PROFESOR

PROF. J. URRIOLA

AÑO

2023
INTRODUCCIÓN

En el mundo de la informática y la programación, uno de los problemas más comunes que


se presentan es la necesidad de organizar y ordenar datos de manera eficiente. Los datos
desordenados pueden dificultar el acceso, la búsqueda y el análisis de información, lo que
hace que los algoritmos de ordenamiento sean esenciales. Uno de los algoritmos más
simples pero instructivos en este contexto es el "método de ordenamiento de burbuja."

El método de ordenamiento de burbuja, aunque no es el algoritmo más rápido ni el más


eficiente en términos de tiempo de ejecución. Este algoritmo debe su nombre a la forma en
que los elementos se mueven a través de la lista, como burbujas que suben a la superficie en
un líquido. Funciona comparando pares de elementos adyacentes y realizando intercambios
si están en el orden incorrecto. Este proceso se repite hasta que la lista esté completamente
ordenada.

A lo largo de esta investigación, descubriremos cómo funciona el método de ordenamiento


de burbuja, veremos ejemplos de su implementación en diferentes lenguajes de
programación, discutiremos su eficiencia en comparación con otros algoritmos de
ordenamiento y exploraremos sus aplicaciones.

En resumen, el método de ordenamiento de burbuja es un punto de partida para comprender


los conceptos fundamentales de clasificación de datos y representa un paso inicial en el
viaje de aprender algoritmos de ordenamiento más avanzados y eficientes. A medida que
profundizamos en su funcionamiento y aplicaciones, obtendremos una base sólida para
abordar problemas de clasificación y mejorar nuestras habilidades en estructuras de datos y
algoritmos.
FUNCIONAMIENTO DEL ALGORITMO DEL MÉTODO DE BURBUJA

El método de ordenamiento burbuja consiste en comparar cada elemento de la estructura


con el siguiente e intercambiándolos si corresponde. El proceso se repite hasta que la
estructura esté ordenada. El orden se establece de acuerdo a la clave y la estructura tiene
que tener acceso directo a sus componentes.

1) Comparación de elementos adyacentes:


 Comienza comparando el primer elemento de la lista
con el segundo elemento.
 Compara el valor del elemento actual con el valor del
elemento siguiente en la lista.
 Si el elemento actual es mayor que el siguiente (en
orden ascendente), se considera que están
"desordenados."

2) Intercambio de elementos si están desordenados:


 Si los elementos adyacentes están desordenados (el primero es mayor que el segundo en
orden ascendente), se realiza un intercambio.
 El intercambio implica que el elemento mayor se mueve hacia la posición posterior, y el
elemento menor se mueve hacia la posición anterior.
 Este proceso de comparación e intercambio continúa a lo largo de la lista, avanzando de
izquierda a derecha.

3) Iteración a través de la lista:


 Después de una pasada completa a través de la lista, el elemento más grande se
encuentra en la última posición de la lista (en orden ascendente).
 Se repite el proceso de comparación e intercambio para todos los elementos de la lista,
una y otra vez.
 Cada nueva pasada coloca el siguiente elemento más grande en su posición final.

4) Finalización:
 El proceso se repite hasta que no se realicen más intercambios en una pasada completa.
 Cuando no se realicen intercambios en una pasada, se considera que la lista está
ordenada.
 El algoritmo se detiene, y no es necesario continuar las iteraciones.

El algoritmo de ordenamiento de burbuja continúa iterando y comparando elementos hasta


que la lista esté completamente ordenada. Cada iteración coloca el elemento más grande en
su posición final, y este elemento "burbujea" hacia el final de la lista. Cuando no se realizan
más intercambios en una pasada, el algoritmo se da por terminado.
PSEUDOCODIGO DEL ALGORITMO DE BURBUJA
IMPLEMENTACIÓN EN UN LENGUAJE DE PROGRAMACIÓN
LENGUAJE PYTHON
Análisis de complejidad

El algoritmo de burbuja es uno de los algoritmos de ordenamiento más simples, pero


también uno de los menos eficientes. Aquí se presenta un análisis de complejidad en
términos de tiempo y espacio, y una comparación con otros métodos de ordenamiento
más eficientes.

Complejidad Temporal
En el peor caso, el tiempo de ejecución del algoritmo de burbuja es O(n^2), donde 'n' es
la cantidad de elementos en la lista. Esto significa que el tiempo requerido para ordenar
una lista aumenta cuadráticamente con el tamaño de la lista. En el peor caso, esto lo
hace muy ineficiente para listas grandes, y su rendimiento empeora a medida que
aumenta el tamaño de la lista.

Complejidad Espacial
El algoritmo de burbuja es un algoritmo in situ, lo que significa que no requiere
memoria adicional para realizar la ordenación. Por lo tanto, su complejidad espacial es
O(1), constante.

Comparación con Otros Métodos de Ordenamiento


Comparado con otros métodos de ordenamiento como QuickSort, MergeSort y
HeapSort, el algoritmo de burbuja es considerablemente menos eficiente en términos de
tiempo. Estos otros métodos tienen una complejidad temporal de O(n log n) en
promedio en el caso de QuickSort y MergeSort, y O(n log n) en el peor caso para
HeapSort. Esto los hace mucho más rápidos para listas grandes.

El algoritmo de burbuja también tiene un desempeño más lento que otros algoritmos
cuadráticos, como el Selection Sort o el Insertion Sort, ya que requiere más
comparaciones y swaps en promedio. El Selection Sort tiene una complejidad de
O(n^2), pero tiende a realizar menos swaps que el Bubble Sort.

En términos de rendimiento, si necesitas ordenar una lista grande, se recomienda evitar


el algoritmo de burbuja y utilizar otros algoritmos de ordenamiento más eficientes,
como QuickSort, MergeSort o incluso Insertion Sort. Estos algoritmos son
considerablemente más rápidos en la práctica, especialmente para listas de gran tamaño.
El algoritmo de burbuja es útil principalmente para fines educativos o cuando se trabaja
con listas muy pequeñas.
El algoritmo de burbuja es adecuado en ciertos casos, pero también tiene limitaciones y
escenarios en los que se debe evitar. Aquí tienes ejemplos de ambas situaciones:

Casos de uso adecuados para el ordenamiento de burbuja

1. Educativos: El algoritmo de burbuja es un excelente punto de partida para enseñar


conceptos de algoritmos y estructuras de datos en cursos introductorios de
programación. Su simplicidad y facilidad de comprensión lo hacen útil para ilustrar los
fundamentos de los algoritmos de ordenamiento.

2. Listas pequeñas: Cuando se trabaja con listas muy pequeñas (por ejemplo, menos de
10 elementos) y la simplicidad del código es más importante que la eficiencia, el
algoritmo de burbuja puede ser una opción aceptable. En tales casos, la diferencia de
rendimiento es insignificante.

Limitaciones y escenarios en los que se debe evitar el ordenamiento de burbuja

1. Listas grandes: El mayor inconveniente del algoritmo de burbuja es su ineficiencia


en listas grandes. Su complejidad temporal de O(n^2) hace que sea extremadamente
lento para listas con cientos o miles de elementos. En estos casos, se debe evitar por
completo.

2. Aplicaciones en tiempo real: Si necesitas ordenar datos en tiempo real o en


aplicaciones críticas en términos de rendimiento, el ordenamiento de burbuja no es una
opción viable. Otros algoritmos de ordenamiento más eficientes, como QuickSort,
MergeSort o HeapSort, son más adecuados para estos casos.

3. Escenarios donde se requiere estabilidad: El algoritmo de burbuja no es un


algoritmo de ordenamiento estable. En situaciones en las que es importante mantener el
orden relativo de elementos con valores iguales, es preferible utilizar algoritmos
estables como MergeSort o TimSort.

4. Escenarios donde se requiere tiempo de respuesta rápido: Si un proceso debe


responder rápidamente a una entrada, como en aplicaciones web o juegos, el algoritmo
de burbuja puede no ser una opción viable debido a su lentitud.

En resumen, el ordenamiento de burbuja es útil en contextos educativos y para listas


muy pequeñas donde la simplicidad es más importante que la eficiencia. Sin embargo,
en aplicaciones del mundo real que involucran grandes conjuntos de datos o necesitan
respuestas rápidas, se deben utilizar algoritmos de ordenamiento más eficientes para
evitar retrasos significativos en el procesamiento.

También podría gustarte