Subido por angel lopez barrera

ESTRUCTURA DE DATOS

Anuncio
QUE ES UNA PILA
Una pila, es una lista ordinal o estructura de datos en la que el modo de acceso a sus
elementos es de tipo LIFO (del inglés Last In First Out, último en entrar, primero en salir)
que permite almacenar y recuperar datos
Para el manejo de los datos se cuenta con dos operaciones básicas: apilar (push), que
coloca un objeto en la pila, y su operación inversa, retirar (o desapilar, pop), que retira el
último elemento apilado.
PILA DE LLAMADA
La pila de llamadas es un segmento de memoria que utiliza esta estructura de datos para
almacenar información sobre las llamadas a subrutinas actualmente en ejecución en
un programa en proceso.
Cada vez que una nueva subrutina es llamada, se apila una nueva entrada con información
sobre ésta tal como sus variables locales.
PILA COMO TIPO ABSTRACTO DE DATOS
la pila es un contenedor de nodos y tiene dos operaciones básicas: push (o apilar) y pop (o
desapilar). 'Push' añade un nodo a la parte superior de la pila, dejando por debajo el resto
de los nodos. 'Pop' elimina y devuelve el actual nodo superior de la pila. Una metáfora que
se utiliza con frecuencia es la idea de una pila de platos en una cafetería con muelle de
pila.
Operaciones
Una pila cuenta con 2 operacines imprescindibles: apilar y desapilar, a las que en las
implementaciones modernas de las pilas se suelen añadir más de uso habitual.





Crear: se crea la pila vacía.
Apilar: se añade un elemento a la pila.(push)
Desapilar: se elimina el elemento frontal de la pila.(pop)
Cima: devuelve el elemento que esta en la cima de la pila. (top o peek)
Vacía: devuelve cierto si la pila está vacía o falso en caso contrario.
QUE ES UNA COLA
Una cola es una estructura de datos, caracterizada por ser una secuencia de elementos en
la que la operación de inserción push se realiza por un extremo y la operación de
extracción pop por el otro.
Las colas se utilizan en sistemas informáticos, transportes y operaciones de investigación,
dónde los objetos, personas o eventos son tomados como datos que se almacenan y se
guardan mediante colas para su posterior procesamiento. Este tipo de estructura de datos
abstracta se implementa en lenguajes orientados a objetos mediante clases, en forma
de listas enlazadas.
TIPOS DE COLA
Colas circulares: en las que el último elemento y el primero están unidos.
Colas de prioridad: En ellas, los elementos se atienden en el orden indicado por una
prioridad asociada a cada uno. Si varios elementos tienen la misma prioridad, se
atenderán de modo convencional según la posición que ocupen. Hay 2 formas de
implementación:
1. Añadir un campo a cada nodo con su prioridad. Resulta conveniente mantener la
cola ordenada por orden de prioridad.
2. Crear tantas colas como prioridades haya, y almacenar cada elemento en su cola.
Bicolas: son colas en donde los nodos se pueden añadir y quitar por ambos extremos.
Bicolas de entrada restringida: Son aquellas donde la inserción sólo se hace por el final,
aunque podemos eliminar al inicio ó al final.
Bicolas de salida restringida: Son aquellas donde sólo se elimina por el final, aunque se
puede insertar al inicio y al final.
LISTAS ENLAZADAS
Una lista enlazada o estructura ligada, es una estructura lineal que almacena una colección
de elementos generalmente llamados nodos, en donde cada nodo puede almacenar datos
y ligas a otros nodos. De esta manera los nodos pueden localizarse en cualquier parte de la
memoria, utilizando la referencia que lo relaciona con otro nodo dentro de la estructura.
Las listas enlazadas son estructuras dinámicas que se utilizan para almacenar datos que
están cambiando constante mente. A diferencia de los vectores, las estructuras dinámicas
se expanden y se contraen haciéndolas más flexibles a la hora de añadir o eliminar
información.
Las listas enlazadas permiten almacenar información en posiciones de memoria que no sean
contiguas; para almacenar la información contienen elementos llamados nodos. Estos
nodos poseen dos campos uno para almacenar la información o valor del elemento y otro
para el enlace que determina la posición del siguiente elemento o nodo de la lista.
Las listas enlazadas se dividen en:
Listas enlazadas simples (con una sola dirección).
Listas enlazadas dobles (con dos direcciones).
LISTAS ENLAZADAS SIMPLE
Una lista enlazada simple es una colección de nodos que tienen una sola dirección y que
en conjunto forman una estructura de datos lineal. Cada nodo es un objeto compuesto
que guarda una referencia a un elemento (dato) y una referencia a otro nodo (dirección).
La referencia que guarda un nodo a otro nodo se puede considerar un enlace o
un puntero hacia el segundo nodo y el salto que los relaciona recibe el nombre de salto de
enlace o salto de puntero. El primer nodo de una lista recibe el nombre de cabeza,
cabecera o primero y el último es llamado final, cola o último.
Un nodo de una lista enlazada simple puede determinar quien se encuentra después de él
pero no puede determinar quien se encuentra antes, ya que solo cuenta con la dirección
del nodo siguiente pero no del anterior.
Descargar