You are on page 1of 40

Estructuras de Datos

Colas

Contenido:
1. Concepto de colas
2. Ejemplo de cola
3. Operaciones de cola
4. Implementación con lista enlazada
5.Bicola
1. CONCEPTO DE COLAS
Colas
2. EJEMPLO DE COLA
Colas
3. OPERACIONES DE COLAS
4. IMPLEMENTACIÓN CON LISTA ENLAZADA
4. IMPLEMENTACIÓN CON LISTA ENLAZADA
4. IMPLEMENTACIÓN CON LISTA ENLAZADA

La implementación del TDA Cola con un array necesita reservar memoria para el
máximo de elementos previstos. En muchas ocasiones, esto da lugar a que se
desaproveche memoria, pero también puede ocurrir los contrario, que se llene la cola y
no se pueda seguir con la ejecución del programa a no ser que se amplíe la capacidad
del array.

La implementación del TDA Cola con una lista enlazada permite ajustarse
exactamente al número de elementos de la cola. Utiliza dos apuntadores
(referencias) para acceder a la lista, frente y fin, que son los extremos por donde
salen y por donde se ponen, respectivamente, los elementos de la cola.
4. IMPLEMENTACIÓN CON LISTA ENLAZADA

Ejercicios:
-Crear método de clonar
-Escribir un método que tenga como argumento una cola del mismo
tipo con la que se va a comparar y devuelva cierto si las dos colas son
idénticas.
5. BICOLA: COLAS DE DOBLE ENTRADA
BiColas

• La estructura bicola o cola de doble entrada se puede considerar que es una


extensión del TAD Cola.

• Una bicola es un conjunto ordenado de elementos, al que se puede añadir o


quitar elementos desde cualquier extremo del mismo.

• El acceso a la bicola está permitido desde cualquier extremo. Se puede


afirmar que una bicola es una cola bidireccional .
5. BICOLA: COLAS DE DOBLE ENTRADA
BiColas
Los dos extremos de una bicola se pueden identificar como frente y fin (iguales
nombres que en una cola). Las operaciones básicas que definen una bicola son
una ampliación de la operaciones que definen una cola:
5. BICOLA: COLAS DE DOBLE ENTRADA
BiColas

Al tipo de datos bicola se le puede poner restricciones respecto a la entrada o a


la salida de elementos.

•Una bicola con restricción de entrada es aquella que sólo permite inserciones
por uno de los dos extremos, pero que permite retirar elementos por los dos
extremos.

•Una bicola con restricción de salida es aquella que permite inserciones por los
dos extremos, pero sólo permite retirar elementos por uno de ellos.
Pilas

Contenido:
1. Concepto de Pilas
2. Operaciones de cola
3. Implementaciones
4. Implementación con lista enlazada
5. Código
6. Tarea
7. Implementación con arrays
8. Ejercicios
1. CONCEPTO DE PILAS
Pilas
1. CONCEPTO DE PILAS
Pilas
2. OPERACIONES
Pilas
3. IMPLEMENTACIONES
Pilas
3. IMPLEMENTACIONES
4. IMPLEMENTACIÓN CON LISTA ENLAZADA
4. IMPLEMENTACIÓN CON LISTA ENLAZADA
5. EJERCICIOS

Un pequeño supermercado dispone en la salida de tres cajas de pago. En


el local hay 25 carritos de compra. Escribir un programa que simule el
funcionamiento, siguiendo las siguientes reglas:

• Si cuando llega un cliente no hay ningún carrito disponible, espera a


que lo haya.
• El cliente se impacienta y abandona el supermercado sin pasar por
alguna de las colas de las cajas.
• Cuando un cliente finaliza su compra, se coloca en la cola de la caja
que hay menos gente, y no se cambia de cola.
• En el momento en que un cliente paga en la caja, su carrito de la
compra queda disponible.

Representar la lista de carritos de la compra y las cajas de salida


mediante colas.
5. CÓDIGO
Ejercicios

1. Usando pilas, cree un método que verifique si una cadena de caracteres es


palíndroma.
2. Obtener una secuencia aleatoria de 10 números, guardarlos en una Lista enlazada
simple y ponerlos en una pila. Imprimir la secuencia original y a continuación,
imprimir la pila extrayendo los elementos.
3. Concatenar dos pilas.
4. Se tiene una pila de enteros positivos. Con las operaciones básicas de pilas y colas
escribir un fragmento de código para poner todos los elementos que son par de la
pila en la cola.
5. Eliminar un elemento de la pila dado su valor.
5. CÓDIGO
Expresiones aritméticas
5. CÓDIGO
Infija
5. CÓDIGO
Prioridad de los operadores
5. CÓDIGO
Polaca
Prefija - Ejemplos
Prefija - Ejemplos
5. CÓDIGO
Postfija
PostFija - Ejemplos
PostFija - Ejemplos
PostFija - Ejemplos
Convertir las siguientes expresiones a
notación prefija y postfija

(A + B) * C - (D - E) * (F + G)

4*(5+6-(8/2^3)-7)-1
PostFija - Ejemplos

Convertir las siguientes expresiones a


notación prefija y postfija

(A + B) * C - (D - E) * (F + G)
Pre: (-*+ABC*-DE+FG)
Pos: (AB+C*DE-FG+*-)

4*(5+6-(8/2^3)-7)-1
Pre: -*4--56/8^2371
Pos: 456+823^/-7-*1-
5. EVALUACIÓN DE UNA EXPRESIÓN ARITMÉTICA
5. EVALUACIÓN DE UNA EXPRESIÓN ARITMÉTICA
Transformar de infija a postfija
5. EVALUACIÓN DE UNA EXPRESIÓN ARITMÉTICA
Evaluación de notacion postfija
5. EVALUACIÓN DE UNA EXPRESIÓN ARITMÉTICA
Evaluación de notacion postfija
5. EVALUACIÓN DE UNA EXPRESIÓN ARITMÉTICA
Evaluación de notacion postfija
6. TAREA

You might also like