Académique Documents
Professionnel Documents
Culture Documents
Por medio de esta consulta se pretende conoce ms afondo los trminos de pilas y colas, sus diferentes usos cotidianos y su manejo.
INFORME DE CONSULTAS
QUE ES UNA PILA?
Es una estructura de datos lineal donde los elementos pueden ser aadidos o removidos solo por un extremo. Trabajan con filosofa LIFO (Last In- First Out). Al utilizar arreglos para implementar pilas se tiene la limitacin de que se debe reservar el espacio en memoria con anticipacin. Una vez dado un mximo de capacidad a la pila no es posible insertar un nmero de elementos mayor que el mximo establecido. Si esto ocurre, en otras palabras si la pila est llena y se intenta insertar un nuevo elemento, se producir un error conocido como desbordamiento overflow. Una posible solucin a este tipo de inconvenientes consiste en definir pilas de gran tamao, pero esto resultar ineficiente y costoso si solo se utilizarn algunos elementos. No siempre es viable saber con exactitud el nmero de elementos a tratar, y siempre existe la posibilidad de que ocurra un error de desbordamiento.
Ejemplos:
Pila de platos. Pila de discos. Pila de llamadas a funciones. Pila de recursin. Pila de resultados parciales de frmulas aritmticas, etc.
TOPE: Apunta hacia el elemento que se encuentra en el extremo de la pila. (Inicialmente es -1).
OPERACIONES:
NOTACIONES
NOTACION INFIJA:
Los operadores aparecen en medio de los operandos. A + B, A 1, E/F, A * C, A ^ B , A + B + C, A+B-C
NOTACION PREFIJA:
El operador aparece antes de los operandos. + AB, - A1, /EF, *AC, ^AB, +AB+C, +AB-C
NOTACION POSTFIJA:
El operador aparece al final de los operandos. AB+, A1-, EF/, AC*, AB^, AB+C+, AB+C-
Funciones Recursivas
Las pilas pueden ser usadas para implementar la recursin en programas. Una funcin o procedimiento recursivo es aquel que se llama a si mismo. Ejemplos: Factorial, Nmeros de Fibonacci, Torres de Hanoi Algoritmos de Ordenamiento de datos, entre otros.
Cola de automviles esperando servicio en una gasolinera Cola de clientes en una ventanilla del banco para pagar un servicio Cola de programas en espera de ser ejecutados por una computadora. Impresin entre otras.
TIPOS DE COLAS
Cola simple: Estructura lineal donde los elementos
orden en que llegan. salen en el mismo
Cola circular: Representacin lgica de una cola simple en un arreglo. Cola Cola
de Prioridades: Estructura lineal en la cual los elementos se insertan en cualquier posicin de la cola y se remueven solamente por el frente. Doble (Bicola): Estructura lineal en la que los elementos se pueden aadir o quitar por cualquier extremo de la cola (cola bidireccional).
OPERACIONES
Las colas pueden ser representadas en arreglos de una dimensin (vector) manteniendo dos variables que indiquen el FRENTE y FINAL de los elementos de la cola.
0 A S
1 F
2 S
3 D
4 Z F
Frente Reglas:
Final
Cuando la cola est vaca las variables frente y final son nulos y no es
posible remover elementos. Cuando la cola est llena (frente = 0 y final = n-1) no es posible insertar elementos nuevos a la cola. Cuando se remueven elementos el frente puede incrementarse para apuntar al siguiente elemento de la cola (implementacin con frente mvil) o los elementos en la cola pueden desplazarse una posicin adelante (implementacin con frente fijo) Recuperacin de espacio: Cuando no hay espacios libres al final del arreglo los elementos pueden ser desplazados para desocupar
Doble cola
Una doble cola o bicola es una generalizacin de una ED tipo cola. En una doble cola, los elementos se pueden insertar o eliminar por cualquiera de los dos extremos. Es decir, se pueden insertar y eliminar valores tanto por FRENTE como por el FINAL de la cola.
Variantes
Doble cola (DC) con entrada restringida
La primera permite hacer eliminaciones por cualquiera de los dos extremos, mientras que las inserciones slo por el FINAL de la cola.
Conclusiones
Finalmente podemos concluir que las pilas son necesarias en este tipo de aplicaciones por lo siguiente; Permiten guardar la direccin del programa, o subprograma, desde donde se hizo la llamada a otros subprogramas, para regresar posteriormente y seguir ejecutndolo a partir de la instruccin inmediata a la llamada. Permiten guardar el estado de las variables en el momento en que se hace la llamada, para seguir ocupndolas al regresar del subprograma. Y las colas; Es simplemente una lnea de espera que crece agregando elementos por el final y decrece tomando elementos del frente. Permite utilizar el espacio ms eficientemente que con arreglos normales.