Sie sind auf Seite 1von 20

ALGORITMOS Y

ESTRUCTURAS DE
DATOS
INGENIERÍA DE SISTEMAS
Tema:

PILAS
Logro:

El estudiante realizara operaciones


básicas sobre una pila y una cola en
representación secuencial.
Pila
Una pila es un tipo especial de lista, una colección
ordenada de elementos en la cual todas las
inserciones, eliminaciones y accesos toman lugar en
un solo extremo de la lista, el cual se conoce como
tope de la pila.

Las pilas son estructuras que se encuentran


frecuentemente en la vida diaria.
Ejemplo de pilas
Algunos ejemplos se encuentran en la forma en que
se acomodan los platos en una cafetería, la manera
que se colocan los libros en un escritorio o bien de
alguna tarea que se desea realizar la forma

en que se acomodan los libros en un

escritorio puede verse de la siguiente manera:

.
Así, se puede añadir un libro a una pila poniéndolo hasta
arriba de todos, se puede ver que libro se encuentra hasta
arriba y de esta misma forma si se desea retirar uno, se
tomara el ultimo que se coloco.

La propiedad anterior se conoce como LIFO(Las int First out),


es decir, el ultimo en entrar será el primero en salir y al que se
tenga acceso.
Aunque las pilas resuelven muchos problemas que se encuentran
en la vida diaria y dentro de la ciencia de la computación, existen
casos para los cuales no son convenientes, por ejemplo suponga
que la estructura que se utilizará para entrar al cine fuera de tipo
pila, es decir, el ultimo en formarse seria el primero en entrar(¿?).

Para este tipo de situaciones existe otra estructura la cual


funciona como FIFO (First In First Out), es decir,
El primero entrar es primero en salir, el nombre que recibe
esta estructura es el de cola(queue), que lo veremos en el
siguiente tema.

La forma en la cual se acostumbra representar una pila es la


siguiente.
Representación gráfica de una pila
Nótese que la posición del tope es arbitraria, dependiendo de
la aplicación se acerca o aleja de la base. Se acostumbra que
el tope de la pila indique al último elemento que fue insertado,
pero puede señalar la primera posición que se encuentra
vacía, en este caso la

pila se vería como:


Algoritmo CrearPila( ) Algoritmo PilaLlena ( )
Inicio Inicio
Cima = -1; Si (cima = N-1) entonces
Fin Retornar Verdadero
Sino
Retornar Falso
FinSi
Fin
Algoritmo PilaVacía ( )
Inicio Algoritmo MostrarPila( )
Si (cima = -1) entonces Inicio
Retornar Verdadero Para i =0 hasta cima , inc 1
Sino Escribir P[i]
Retornar Falso FinPara
FinSi Fin
Fin
Algoritmo desapilar ()
Algoritmo Apilar ( Item)
Inicio
Inicio
Si PilaVacia() = false entonces
Si PilaLlena( ) es falso entonces
Elem = P[cima]
Cima = cima +1
Cima = cima -1
P[cima] = item
Retornar Elem
Sino
Sino
Escribir “La Pila esta Llena”
Escribir “La pIla esta Vacia”
Fin
Retornar -99
FinSi
Fin
Tema:

COLAS
Cola
Una cola (queue) es una lista lineal en la cual todas las
inserciones son echas en un extremo y todas las
eliminaciones y accesos se realizan en el otro extremo
de la lista. Nótese que las colas trabajan bajo la
propiedad FIFO(First In Fis Out), es decir que el
primero en entrar es el ultimo en salir(PEPS).
Las colas son una estructura de datos que sirve para
modelar situaciones que se encuentran
frecuentemente, como por ejemplo, en los bancos y
cines. También se pueden utilizar para administrar los
recursos de una computadora, que es una de las
principales funciones de un sistema operativo, por
ejemplo en la forma de utilizar la impresora.
En un banco(idealmente) la primera persona que llega
será la primera en ser atendida y asi cada persona de
que llega se forma en la cola y se atienden en orden en
el que llegaron.

Las operaciones que pueden realizarse sobre una cola


son las siguientes:
Inserción, después del último elemento ingresado.
Supresión, del primer elemento ingresado.
Inspección, del primer elemento ingresado.
Es importante remarcar el hecho que en las filas sólo puede suprimirse e
inspeccionarse el primer elemento ingresado y solo se inserta un nuevo
elemento después del último elemento ingresado.
La cola tiene dos selectores implícitos, ya que es el elemento que se
encuentra en el primer lugar (Frente) de la misma sobre el que se puede
operar para eliminarlo o inspeccionarlo y se inserta después del elemento
que se encuentra en el último lugar (Final)..
Desencolar Encolar

Frente Final
(Supresión) (Inserción)

‘F’ ‘R’ ‘T’ ‘Y’ ‘Z’

Frente
(Supresión) Final
(Inserción)

Das könnte Ihnen auch gefallen