La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Pilas y Colas Estructuras de Datos.

Presentaciones similares


Presentación del tema: "Pilas y Colas Estructuras de Datos."— Transcripción de la presentación:

1 Pilas y Colas Estructuras de Datos

2 Pilas Son estructuras utilizadas muy a menudo como herramientas de programación de tipo LIFO (Last in-First out) Permiten el acceso solo a un elemento a la vez: el último elemento insertado La mayoría de los procesadores utilizan una arquitectura basada en pilas

3 Pilas - Operaciones Básicamente poseen dos operaciones primarias:
Push: inserta la data en el tope de la pila Pop: remueve la data del tope de la pila

4 Pilas de libros Push

5 Pilas de libros Pop

6 Pilas Implementadas en listas
Constructores: Push (Insertar al inicio) Pop (Eliminar al inicio) Selectores: Pila-Vacia? (El apuntado Cabeza es Nul?) Top (Mostrar el primero)

7 Pilas Implementadas en listas
public int Peek(){ Cnodo nodo; int dato; nodo = getCabeza(); dato = nodo.getIData(); return dato;} public boolean PilaVacia(){ return ( EstaVacia() );} public void ImprimePila(){ ImprimeLista();} } public class CPilaL extends CListaSimple{ public CPilaL(){super();} public void Push( Cnodo nuevo ){ InsertaPrimero(nuevo);} public Cnodo Pop(){ Cnodo nodo; nodo = EliminarPrimero(); return nodo;}

8 Pilas Implementadas en
Vectores - Algoritmos PilaVacia( S ) If top( S ) = 0 return true Else return false Push( S, x ) Top( S ) <– Top( S ) + 1 S[ top( S ) ] <– x Pop( S ) If PilaVacia error else Top( S ) <– Top( S ) - 1 return S[ Top( S ) + 1 ]

9 Pilas - Eficiencia El tiempo de ejecución de las operaciones primarias de una pila no depende del tamaño de la pila Push y Pop se realizan en tiempo constante O(1) - no es necesario hacer ninguna comparación

10 Colas Son estructuras de datos de tipo FIFO (First in-First out)
Simulan una cola de personas en el cine Las colas son herramientas de programación como las pilas

11 Colas - Operaciones Operaciones primarias:
Encolar: agrega un nuevo dato al final de la cola Desencolar: elimina un dato del principio de la cola

12 Colas - Operaciones Encolar

13 Colas - Operaciones Desencolar

14 Colas Implementadas en listas
Constructores: Encolar (Insertar al final) Desencolar (Eliminar al inicio) Selectores: Cola-Vacia? (El apuntado Cabeza es Nil?) Primero-Cola (Mostrar el primero)

15 Colas Implementadas en
Vectores - Algoritmos Desencolar( Q ) x <– Q[ Cabeza( Q ) ] if Cabeza( Q ) = Length( Q ) Cabeza( Q ) <– 1 else Cabeza( Q ) <– Cabeza( Q ) + 1 return x Encolar( Q, x ) Q[ Fin( Q ) ] <– x if Fin( Q ) = length( Q ) Fin( Q ) <– 1 else Fin( Q ) <– Fin( Q ) + 1

16 Colas - Eficiencia El tiempo de ejecución de las operaciones primarias de una colas no depende del tamaño de la cola Encolar y Desencolar se realizan en tiempo constante O(1) - no es necesario hacer ninguna comparación

17 Cola doble enlace La mejor implementación de cola, es con una lista, donde se tenga un apuntador a la cabeza y uno al último de la lista. Cola doble Cola Cabeza 3 2 1 5 Null Null


Descargar ppt "Pilas y Colas Estructuras de Datos."

Presentaciones similares


Anuncios Google