Seminario de Solución de Problemas de Algoritmia
Enviado por Kone Cruz • 21 de Agosto de 2017 • Tarea • 437 Palabras (2 Páginas) • 308 Visitas
Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenierías
[pic 1]
Seminario de Solución de Problemas de Algoritmia
Cruz Navarro Jesús Felipe
Actividad 3
Burbuja y su funcionamiento
Introducción
En el mundo de la programación existen diversas instrucciones para la solución de problemas, en es esta actividad en específico se hablará del método de ordenamiento llamado burbuja.
Burbuja es un método de ordenamiento cuya complejidad algorítmica es , al ser un algoritmo básicamente iterativo puede implementarse su versión recursiva.[pic 2]
Entre los algoritmos de ordenamiento podría catalogarse a burbuja como uno de los métodos mas primitivo de orden.
Desarrollo
Hay distintas formas de codificar burbuja, nuestra manera consta principalmente de dos ciclos, una condición y un booleano bandera.
Para comenzar, se declara a burbuja como una función, la cual no incluye parámetros, pues trabajará internamente en la lista. Necesitará dos apuntadores, uno que sirva para recorrer la lista, y otro para poder guardar la información en caso de haber un cambio como adicional, necesitaremos un dato lógico que nos diga si en el recorrido no se efectuaron cambios.
[pic 3]
Seguido de ello, crearemos una excepción para evitar colapsos del software, esta nos dice que si la lista vacía mandará un mensaje con ese dato.
[pic 4]
En caso contrario de que la lista no está vacía entrará a un loop donde jugará un papel muy importante nuestro booleano, pues el ciclo no terminará mientras este esté tornado en falso.
[pic 5]
Cabe aclarar que dentro del loop, el booleano ‘terminado’ tornará true cada vez que este se repita, pero tornará false entrando al while anidado que se alcanza apreciar en la captura anterior.
[pic 6]
Una vez dentro del segundo while, entrará una condición que nos dice que si nuestro nodo actual es mayor al consecuente de él, estos cambiaran de posición.
[pic 7]
Esto sucede con una sobre-escritura de datos, para ello necesitamos el otro apuntador a nulo que guardará temporalmente los datos del nodo siguiente al recorrido para poder hacer un intercambio de valores.
[pic 8]
Si esto ocurre, el nodo “iterará” de manera dinámica y nuestra bandera tornará falsa , por lo que al volver al primer loop la detectará y volverá a hacer el recorrido (tornándola previamente de vuelta a true) cuando no entre a esta condición saldrá del primer loop.
...