Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Análisis de Algoritmos
Mtra. Beatriz Dolores
Guardián Soto
5cm13
Equipo 10
Se crearán dos programas, uno de pila y otro de colas circulares. En ellos el usuario
podrá escoger como llenar su arreglo por medio de un menú, después se mostrará
el llenado del mismo y por medio de funciones se podrá manipular dicho arreglo de
lista y/o cola.
Marco teórico
* Se adjuntó la imagen de
CmapTools ampliada en la
carpeta de archivos
Análisis de Algoritmo - Colas
circulares
Inicio
Declaración de variables
Menú
Opción 1 -> Introducir un valor
Opción 2 -> Eliminar un valor
Opción 3 -> Se muestra el llenado del arreglo
(Al ser una cola cumple con las mismas operaciones disponibles que la cola simple pero con optimizaciones y
ventajas al manejarlas en muchos medios)
Al ser las operaciones importantes de las colas dobles se desarrollaran estas)
Opción 1 -> Introducir un valor(encolar)
Entradas
x: Valor {* elemento que se desea insertar *}
col: Cola de Valor O(1)
Salidas col
Inicio {* comprobar si en la cola se pueden insertar más elementos *} {* esto es necesario por el tipo de
representación de la estructura popularmente representada con un circulo*}
Si ( Siguiente ( col.fin ) = col.ini ) entonces O(1)
“Error ‘cola llena’” O(1)
Sino col.info [col.fin] ← x
col.fin ← Siguiente (col.fin) O(1)
Fin_sino
Fin =O(1)+O(1)+O(1)+O(1)= Omax(1,1,1,1)= O(1)
(al ser las operaciones importantes de las colas dobles se desarrollaran estas)
Entradas
Salidas O(1)
col
Inicio {* comprobar si se pueden eliminar elementos de la cola *} {* esta operación no depende de la representación, siempre es necesaria *}
sino
Fin_si
Menú
Opción 1 -> Introducir un valor
Opción 2 -> Eliminar un valor
Opción 3 -> Se muestra el llenado del arreglo
(Al ser una lista circular tiene las mismas operaciones básicas que las listas y con mas funcionalidades que las
listas simples )
(Opción 1 -> Introducir un valor
Entradas
x: Valor {* elemento que se desea insertar *}
lis: Valor de lista O(1)
Salidas lis
Inicio {* comprobar si en la lista se pueden insertar más elementos *}
Si (lista_vacia ) entonces O(1)
Lista->nodo O(1)
Lista->sig O(1)
Sino nodo->siguiente apunte a lista->siguiente O(1)
Lista->siguiente->nodo O(1)
Fin_sino
Fin =O(1)+O(1)+O(1)+O(1)+O(1)+O(1)= Omax(1,1,1,1,1,1)= O(1)
Opción 2 -> Eliminar un valor
Entradas
Salidas O(1)
col
Lista=null O(1)
sino
Fin_si
• Si opción es 1 ha z
• Si opción es 2 ha z
• Si opción es 3 ha z
• Si opción es 4 ha z
• Termi na el programa
• fi n
Pseudocódigo de colas circulares
• Inicio • Elimina el valor al inicio de la lista
https://kripkit.com/algoritmo-
iterativo/
http://www.kramirez.net/Discreta
s/Material/Presentaciones/Ecuaci
ones_de_recurrencia_02-03.pdf