Pilas y colas

Pila

Estructura de datos en la que todas las inserciones y eliminaciones de elementos se realizan por un extremo denominado cima de la pila. En otras palabras, una pila es una lista ordenada de elementos del mismo tipo en la que todas las inserciones y supresiones se realizan por un mismo extremo de la lista.

¿Qué es una pila?

Una pila (stack) es una estructura de datos en la que todas las inserciones y eliminaciones de elementos se realizan por un extremo denominado cima de la pila. En otras palabras, una pila es una lista ordenada de elementos del mismo tipo en la que todas las inserciones y supresiones se realizan por un mismo extremo de la lista. En una pila el último elemento añadido es el primero en salir de la pila. Por esa razón a las pilas, se las denomina también listas Lifo (Last input first output, «último en entrar, primero en salir»).

¿Cómo se implementan las pilas?

La pila se puede implementar guardando los elementos en un array, en cuyo caso su dimensión o longitud es fija. Otra forma de implementación consiste en construir una lista enlazada, cada elemento de la pila forma un nodo de la lista; la lista crece o decrece según se añaden o se extraen, respectivamente, elementos de la pila; ésta es una representación dinámica y no existe limitación en su tamaño excepto la memoria del ordenador.

Las operaciones básicas que debe ejecutar una pila son:

  • Tope: Debe retorna el elemento del tope. Este elemento será retornado si la pila no está vacía
  • Colocar: Añade un elemento “encima” del tope.
  • Quitar: Elimina el elemento del tope.
  • Vacía: Indica si la pila se encuentra sin elementos.

Cola

¿Qué es una cola?

Una cola es una lista ordenada de elementos, en la cual las eliminaciones se realizan en un solo extremo, llamado frente o principio de la cola, y los nuevos elementos son añadidos por el otro extremo, llamado fondo o final de la cola. En esta estructura de datos el primer elemento que entra es el primero en salir. Por esta causa a las colas también se les llama listas FIFO (first input first output).

¿Cómo se implementan las colas?

Al igual que las pilas, las colas se implementan utilizando una estructura estática (arrays ), o una estructura dinámica (listas enlazadas). La implementación estática se realiza declarando un array para almacenar los elementos, y dos marcadores o apuntadores para mantener las posiciones frente y final de la cola; es decir, un marcador apuntando a la posición de la cabeza de la cola y el otro al primer espacio vacío que sigue al final de la cola.

Las operaciones básicas que debe ejecutar una cola son:

  • Frente: retorna el elemento que esté en el frente.Este elemento será retornado si la pila noestá vacía
  • Colocar: añade un elemento al final de la cola
  • Quitar: elimina el elemento que esté en el frente
  • Vacía: indica si la cola se encuentra sin elementos

No comments

Comentarios en artículos

No comments

Nobody has submitted a comment yet.