Upload
kirra
View
72
Download
3
Embed Size (px)
DESCRIPTION
Pilas y Colas. Estructuras de Datos. 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 - PowerPoint PPT Presentation
Citation preview
Pilas y ColasPilas y ColasEstructuras de Datos
PilasPilas
• 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
Pilas - OperacionesPilas - 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
Pilas de librosPilas de libros
Pilas de librosPilas de libros
Constructores:
Push (Insertar al inicio)
Pop (Eliminar al inicio)
Selectores:
Pila-Vacia? (El apuntado Cabeza es Nul?)
Top (Mostrar el primero)
Pilas Pilas Implementadas en listasImplementadas en listas
Pilas Pilas Implementadas en listasImplementadas en listas
public class CPilaL extends CListaSimple{public CPilaL(){super();}public void Push( Cnodo nuevo ){
InsertaPrimero(nuevo);}public Cnodo Pop(){
Cnodo nodo;nodo = EliminarPrimero();return nodo;}
public int Peek(){Cnodo nodo;int dato;nodo = getCabeza();dato = nodo.getIData();return dato;}
public boolean PilaVacia(){return ( EstaVacia() );}
public void ImprimePila(){ImprimeLista();}
}
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 ]
Pilas Pilas Implementadas en Implementadas en
Vectores - Vectores - AlgoritmosAlgoritmos
Pilas - EficienciaPilas - 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
ColasColas
• 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
Colas - OperacionesColas - Operaciones
• Operaciones primarias:– Encolar: agrega un nuevo dato al final de la
cola– Desencolar: elimina un dato del principio de la
cola
Colas - OperacionesColas - Operaciones
Colas - OperacionesColas - Operaciones
Constructores:
Encolar (Insertar al final)
Desencolar (Eliminar al inicio)
Selectores:
Cola-Vacia? (El apuntado Cabeza es Nil?)
Primero-Cola (Mostrar el primero)
ColasColas Implementadas en listasImplementadas en listas
Encolar( Q, x ) Q[ Fin( Q ) ] <– x if Fin( Q ) = length( Q ) Fin( Q ) <– 1 else Fin( Q ) <– Fin( Q ) + 1
Desencolar( Q ) x <– Q[ Cabeza( Q ) ] if Cabeza( Q ) = Length( Q ) Cabeza( Q ) <– 1 else Cabeza( Q ) <– Cabeza( Q ) + 1 return x
ColasColasImplementadas en Implementadas en
Vectores - Vectores - AlgoritmosAlgoritmos
Colas - EficienciaColas - 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
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 enlaceCola doble enlace
Null
Null