Estructura De Datos-Pilas-Colas Y Multilistas
Trabajo de Estructura De Datos I
ESTUDIANTE:
EDWARD JARAMILLO FOX
Facultad De Ingeniería De Sistemas
IV Semestre
DOCENTE:
JUAN PEDRO MERIÑO
CORPORACION UNIVERSITARIA RAFAEL NUÑEZ
CARTAGENA-COLOMBIA
28 DE AGOSTO DEL 2.012
2
TABLA DE CONTENIDO
PÁG
Pila ------------------------------------------------------------------ 4-6Cola------------------------------------------------------------------ 6-10
Lista------------------------------------------------------------------ 11-15
Multilista----------------------------------------------------------- 16-19
3
OBJETIVO
Este trabajo tiene el objetivo de hacer comprender los diferentes modelos de estructuras de
datos dinámicas como lo son las (pilas, colas, listas y multilistas,igualmente los algoritmos
necesarios para tratarlas. Cabe resaltar que el aprendizaje se facilita, al implementar
pseudocódigos, ya que no esta asociado a una lenguaje de programación especifico.
Posibilitando la comprensión rápida y eficaz.
4
PILA
Una pila es un conjunto ordenado de eleme ntos en el cual se puede agregar y eliminar
elementos en un extremo, que es llamado el tope de la pila.En consecuencia, los elementos
de una pila se eliminan en orden inverso al que se insertaron; es decir, el último elemento
que se mete en la pila es el primero que se saca. Debido a esta característica, se le conoce
como estructura LIFO (last-input, First-Output: el ultimo en entrar es el primero en salir).
Representaciones de pilas
Las pilas no son estructuras fundamentales de datos; esdecir, no están definidas como tales
en los lenguajes de programación. Para su representación requieren el uso de otras
estructuras de datos, como;
Arreglos
Listas
A continuación se presenta dos alternativas de representar una pila, utilizando
arreglos.
4
3
2
1
MAX
TOPE
TOPE
1
2
3
MAX
4
Un error que se puede presentar al trabajar con pilas es tratar deeliminar un elemento de
una pila vacía. Este tipo de error se conoce como subdesbordamiento.
Operaciones con pilas
Las operaciones básicas que se pueden llevar a cabo son:
Insertar un elemento ----- Push------ en la pila
Eliminar un elemento -----Pop------- de la pila.
5
Ejemplo:
a) Dada una pila s y un elemento i, ejecutar la operación push (s,i) agrega el elemento i
al topede la pila s.
De modo contrario, la operación pop(s) remueve el elemento superior y lo regresa como su
valor de función.
La operación de asignación:
I=pop(s);
Resuelve el elemento del tope s y le asigna su valor a i.
Operación Empty
Determina si una pila s esta o no vacía. Si la pila esta vacía empty (s), retorna el valor
TRUE; de otra forma retorna el valor FALSE.
Todo esto con el fin,que antes de aplicar el operador pop a una pila, debemos asegurarnos
de que la pila no este vacía.
Operaciones auxiliares
Pila_ vacía
Pila_ llena
A continuación se presentan algoritmos de las operaciones mencionadas:
Algoritmo 1 Pila_ vacía
(Este algoritmo verifica si una estructura tipo pila ----PILA----esta vacía, asignando BAND
el valor de verdad correspondiente. La pila enun arreglo unidimensional. TOPE es un
conjunto de tipo entero. BAND es un parámetro de tipo booleano).
Si (TOPE =0)[verifica si no hay elementos almacenados en la pila]
Entonces
Hacer BAND ---- VERDADERO [la pila esta vacía]
Si no
Hacer BAND ---- FALSO [la pila no esta vacía]
6
[Fin de condicional del paso 1]
Algoritmo 2 pila_ llena
(Este algoritmo verifica si una estructura tipopila ----PILA----esta llena, asignando BAND
el valor de verdad correspondiente. La pila en un arreglo unidimensional de MAX
elementos. TOPE es un conjunto de tipo entero. BAND es un parámetro de tipo booleano).
Si (TOPE =MAX)
Entonces
Hacer BAND ---- VERDADERO [la pila esta llena]
Si no
Hacer BAND ---- FALSO [la pila no esta llena]
[Fin de condicional del paso 1]
COMENTARIOS
Las pilas...
Regístrate para leer el documento completo.