Vous êtes sur la page 1sur 10

PROGRAMA NACIONAL DE FORMACIN EN

INFORMATICA (PNFI)

ALGORITMICA Y PROGRAMACION

Algortmica y Programacin

Unidad 14.Introduccin a las Estructuras


de Datos Avanzadas: Pilas, Colas,
rboles

Ing. Sullin Santaella

UNIDAD CURRICULAR: ALGORITMICA Y PROGRAMACION


Introduccin a las Estructuras de datos Avanzadas: Pilas, Colas y rboles
Puntos a Tratar
1. Pilas
1.1. Concepto
1.2. Representacin Grfica
1.3. Operaciones Bsicas
1.4. Aplicaciones de las Pilas
1.5. Implementacin
2. Colas
2.1. Concepto
2.2. Representacin Grfica
2.3. Operaciones Bsicas
2.4. Aplicaciones de las Colas
2.5. Implementacin

3. rboles

Algortmica y Programacin

Unidad 14.Introduccin a las Estructuras


de Datos Avanzadas: Pilas, Colas,
rboles

Ing. Sullin Santaella

1. Pilas
1.1. Concepto

Una pila (stack en ingls) es una estructura de datos en la que el modo de


acceso a sus elementos es de tipo LIFO (del ingls Last In First Out, ltimo en
entrar, primero en salir) que permite almacenar y recuperar datos, es decir, la
insercin y extraccin de elementos de la pila siguen el principio LIFO ya que el
ltimo elemento que se agrega a la pila es el primero en salir de la misma. El
ltimo elemento en entrar (tope), es el nico accesible en cada momento.
En otras palabras, los elementos almacenados se agregan y se sacan del
mismo lugar, llamado el tope de la pila. El tope es el nico lugar a partir del cual
se pueden acceder a los elementos de la estructura. Esta caracterstica hace que
el ltimo elemento en ser insertado en la pila es el primero en salir. Este tipo de
estructuras se denominan LIFO (Last In First Out).
1.2. Representacin Grfica

Algortmica y Programacin

Unidad 14.Introduccin a las Estructuras


de Datos Avanzadas: Pilas, Colas,
rboles

Ing. Sullin Santaella

1.3. Operaciones Bsicas o primitivas

Para utilizar el Tipo de Dato Abstracto (TDA) Pila, el mismo nos proveer
de una serie

de procedimientos que nos permitirn acceder o agregar

elementos.
Los siguientes son los procedimientos bsicos que debe contener una pila:
P_Crear
P_Vaciar
P_Vacia
P_Agregar
P_Sacar

Algortmica y Programacin

Unidad 14.Introduccin a las Estructuras


de Datos Avanzadas: Pilas, Colas,
rboles

Ing. Sullin Santaella

Insertar en la pila (apilar o push): agrega un elemento a la pila, este nuevo


elemento de la pila estar en el tope de la misma.
Retirar de la pila (o desapilar, pop): retira o elimina el ltimo elemento de la
pila, es decir, elimina el elemento que est en el tope.
El usuario de una pila utilizara estos procedimientos, sin tener en
cuenta como estn implementados por dentro. Lo nico que deber conocer
es los procedimientos y sus parmetros.
Ejemplo:

Por analoga con objetos cotidianos, una operacin apilar equivaldra a


colocar un plato sobre una pila de platos, y una operacin retirar a quitar el plato
que est encima.

1.4. Aplicaciones de las Pilas

Las pilas se utilizan en muchas aplicaciones que utilizamos con


frecuencia.

Algortmica y Programacin

Unidad 14.Introduccin a las Estructuras


de Datos Avanzadas: Pilas, Colas,
rboles

Ing. Sullin Santaella

Gestin de ventanas en Windows o Linux (cuando cerramos una ventana


siempre recuperamos la que tenamos detrs).

Evaluacin general de cualquier expresin matemtica para evitar tener


que calcular el nmero de variables temporales que hacen falta.

Navegador Web:
o

Se almacenan los sitios previamente visitados: cuando el usuario


quiere regresar (presiona el botn de retroceso o regresar),
simplemente se extrae la ltima direccin (pop) de la pila de sitios
visitados.

Editores de texto u otras herramientas


o

Los cambios efectuados se almacenan en una pila

El Usuario puede deshacer los cambios mediante la operacin


undo o deshacer, la cual extrae el estado del texto o cualquier
elemento, antes del ltimo cambio realizado.

1.5. Implementacin

Para la implementacin de la pila, es necesario que el tipo de dato


contenga una referencia al nodo tope de la pila. Luego, cada nodo tendr una
referencia al nodo que le siguiente. De esta manera se formara una cadena con
inicio en el nodo tope y que finaliza en el ltimo elemento de la pila, cuyo nodo
no referenciar a ningn elemento.
TOPE

ELEMENTO
1
ELEMENTO
2
ELEMENTO
3

Algortmica y Programacin

Unidad 14.Introduccin a las Estructuras


de Datos Avanzadas: Pilas, Colas,
rboles

Ing. Sullin Santaella

2. Colas
2.1. Concepto

Una cola es una estructura de datos en la que el modo de acceso a


sus elementos es de tipo FIFO (del ingls First Input First Output, primero
en entrar, primero en salir). Permite almacenar y recuperar datos, es decir, la
insercin y extraccin de elementos de la cola siguiendo el principio FIFO.
Cuando se agrega un elemento a la cola, ste se agrega al final. Cuando se
elimina un elemento de la cola, se elimina el que est al frente de la cola, es
decir, el primero.
En otras palabras, los elementos se agregan al final y se sacan del principio
de la cola. Esta caracterstica hace que el primer elemento insertado en la cola es
el primero en salir, como en cualquier cola de la realidad, en un banco, en el cine,
en el supermercado.

2.2. Representacin Grfica

Algortmica y Programacin

Unidad 14.Introduccin a las Estructuras


de Datos Avanzadas: Pilas, Colas,
rboles

Ing. Sullin Santaella

2.3. Operaciones Bsicas o primitivas

Para utilizar el Tipo de Dato Abstracto (TDA) Pila, el mismo nos proveer
de una serie

de procedimientos que nos permitirn acceder o agregar

elementos.
Los siguientes son los procedimientos bsicos que debe contener una pila:
C_Crear
C_Vaciar
C_Vacia
C_Agregar
C_Sacar
Insertar en la cola (encolar): agrega un elemento a la cola, este nuevo

Algortmica y Programacin

Unidad 14.Introduccin a las Estructuras


de Datos Avanzadas: Pilas, Colas,
rboles

Ing. Sullin Santaella

elemento de la cola estar en el extremo final de la misma.


Retirar de la cola (desencolar): retira o elimina el primer elemento de la cola,
es decir, elimina el elemento que est en el frente.
Ejemplo:

frente

final

2.4. Aplicaciones de las Colas

Las colas se utilizan en muchas aplicaciones que utilizamos con


frecuencia.
Impresin de documentos: Cuando imprimimos varios documentos, stos se
imprimen en el orden en que lo mandamos a imprimir.

Algortmica y Programacin

Unidad 14.Introduccin a las Estructuras


de Datos Avanzadas: Pilas, Colas,
rboles

Ing. Sullin Santaella

Los nmeros de tickets para atender pblico.


La simulacin de cualquier cola de elementos.
Un ejemplo prctico de la vida cotidiana de colas, son las colas que
realizamos en los bancos o en cualquier lugar. La cola para subir al autobs
est compuesta de elementos (personas), que dispone de dos extremos
comienzo y fin. Por el comienzo se extraer un elemento cuando haya comprado
el billete para su viaje, y si llega una nueva persona con intencin de usar el
autobus, tendr que colocarse al final y esperar que todos los elementos situados
antes que l abandonen la cola.

2.5. Implementacin

Para implementar una cola ser necesario que la estructura contenga una
referencia al primer nodo de la cola y otra al ltimo nodo. Luego, desde el primer
nodo de la cola, se irn encadenando los dems nodos, hasta el ltimo.

Primero

ELEMENTO
1

ELEMENTO
2

Ultimo

Algortmica y Programacin

ELEMENTO
3

Unidad 14.Introduccin a las Estructuras


de Datos Avanzadas: Pilas, Colas,
rboles

Ing. Sullin Santaella

Vous aimerez peut-être aussi