Está en la página 1de 6

UNIVERSIDAD TECNOLÓGICA DE PANAMÁ

FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES


ESTRUCTURAS DE DATOS I
TALLER 6: COLAS

Profesora: Crispina Ramos I semestre de 2021


Estudiantes: Grupo: 1IL121
Cristian Arévalo, 20-31-5053 Fecha: 27/05/2021
Valentina Marques, 20-59-5236

Objetivos:

✓ Mostrar cómo operan las Colas de almacenamiento de datos e identificar las diferentes
operaciones con Colas
✓ Identificar y diferenciar los tipos de Colas aplicando los algoritmos de Inserción y
Eliminación de Colas simples y Colas Circulares en diferentes ejercicios.

Enunciado: Operaciones en Colas Simples y Colas Circulares

1- Dibuje tres estados de una Cola Simple que devuelven TRUE, cuando la Cola está llena.
Dibuje los estados.

1 2 3 4 5
18 94 55 7 13
frente = 1 final = 5
maximo = 5

1 2 3 4 5
63 21 33
frente = 3 final = 5
maximo = 5

1 2 3 4 5
1
frente = 5 final = 5
maximo = 5
2- Sea C una Cola Circular de 6 elementos. Inicialmente la Cola está vacía
(FRENTE=FINAL=0). Dibuje el estado de la Cola C, y de los punteros FRENTE y FINAL
en cada uno de los ejercicios a continuación:
a) Insertar los elementos AA, BB, CC
b) Eliminar el elemento AA
c) Insertar los elementos DD, EE, y FF
d) Insertar el elemento GG
e) Insertar el elemento HH
f) Eliminar los elementos BB y CC
• ¿Con cuántos elementos quedó C?

4 elementos

• ¿Hubo algún error desbordamiento, subdesbordamiento? Indique en qué


estado de la Cola.

Sí hubo un error de desbordamiento, el estado de la cola era lleno, y se


cumple el condicional frente=(final+1).
´

Error de desbordamiento, porque frente==(final+1)

2==2
3- Escriba un proceso que invierta los elementos de una Cola Simple (Pseudocódigo)

COLA (original)
1 2 3 4 5
23 100 9 13 76

FRENTE FINAL

COLA (después de invertir los valores) 4 5


1 2 3
76 13 9 100 23

FRENTE FINAL

Proceso:

entero cola[5]
entero nueva_cola[5]
entero pila[5]
entero frente
entero eliminar
entero final =5
entero cima = 0
entero maximo = 5
Para (frente = 1; frente <= final; frente++)
eliminar = cola [frente]
cima = cima + 1
pila[cima] = eliminar
Fin-para
frente = 1
Para (final = 1; final <= maximo; final++)
nueva_cola[final] = pila[cima]
imprimir (cola[final])
cima = cima – 1
Fin-para
Cola
1 2 3 4 5
23 100 9 13 76
frente = 1 final = 5

1 2 3 4 5
100 9 13 76
frente = 2 final = 5

1 2 3 4 5
9 13 76
frente = 3 final = 5

1 2 3 4 5
13 76
frente = 4 final = 5

1 2 3 4 5
76
frente = 5 final = 5

Pila

1 2 3 4 5

cima = 0

1 2 3 4 5
23
cima = 1

1 2 3 4 5
23 100
cima = 2

1 2 3 4 5
23 100 9
cima = 3
1 2 3 4 5
23 100 9 13
cima = 4

1 2 3 4 5
23 100 9 13 76
cima = 5

Nueva_cola

1 2 3 4 5
76
frente = 1 final = 1

1 2 3 4 5
76 13
frente = 1 final = 2

1 2 3 4 5
76 13 9
frente = 1 final = 3

1 2 3 4 5
76 13 9 100
frente = 1 final = 4

1 2 3 4 5
76 13 9 100 23
frente = 1 final = 5

También podría gustarte