2. PILAS
Las pilas son otro tipo de estructura de datos lineales,
las cuales presentan restricciones en cuanto a la posición
en la cual pueden realizarse las inserciones y las
extracciones de elementos.
Una pila es una lista de elementos en la que se pueden
insertar y eliminar elementos sólo por uno de los
extremos. Como consecuencia, los elementos de una
pila serán eliminados en orden inverso al que se
insertaron. Es decir, el último elemento que se metió a la
pila será el primero en salir de ella.
3. Ejemplo de Pilas
En la vida cotidiana existen muchos ejemplos de pilas,
una pila de platos en una alacena, una pila de latas en
un supermercado, una pila de papeles sobre un
escritorio, etc.
Una pila es un tipo especial de lista abierta en la que
sólo se pueden insertar y eliminar nodos en uno de los
extremos de la lista. Estas operaciones se conocen como
"push" y "pop", respectivamente "empujar" y "tirar".
Además, las escrituras de datos siempre son inserciones
de nodos, y las lecturas siempre eliminan el nodo leído.
4. Otras Caracteristicas:
Otras caracteristicas implican un comportamiento de
lista LIFO (Last In First Out), el último en entrar es el
primero en salir.
El símil del que deriva el nombre de la estructura es una
pila de platos. Sólo es posible añadir platos en la parte
superior de la pila, y sólo pueden tomarse del mismo
extremo.
6. Colas:
Una cola es una colección de elementos homogéneos
(almacenados en dicha estructura), en la misma se
pueden insertar elementos por uno de los extremos,
llamado frente, y retirar los mismos por el otro extremo,
denominado final.
Es importante aclarar que, tanto el frente como el final
de la cola, son los únicos indicados para retirar e insertar
elementos, respectivamente. Esto nos indica que no
podemos acceder directamente a cualquier elemento de
la cola, sino solo al primero, o sea el que está o se
encuentra en el frente, y no se pueden insertar
elementos en cualquier posición sino solo por el final, así
el elemento insertado queda como último.
8. Usos concretos de la cola
Las colas se utilizan en
sistemas informáticos, transportes y operaciones
de investigación (entre otros), 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.
La particularidad de una estructura de datos de cola es
el hecho de que sólo podemos acceder al primer y al
último elemento de la estructura. Así mismo, los
elementos sólo se pueden eliminar por el principio y sólo
se pueden añadir por el final de la cola.
9. Operaciones Básicas
Crear: se crea la cola vacía.
Encolar (añadir, entrar, insertar): se añade un elemento
a la cola. Se añade al final de esta.
Desencolar (sacar, salir, eliminar): se elimina el
elemento frontal de la cola, es decir, el primer elemento
que entró.
Frente (consultar, front): se devuelve el elemento
frontal de la cola, es decir, el primer elemento que entró.
10. LISTA
Una lista enlazada es una de las estructuras de datos fundamentales, y
puede ser usada para implementar otras estructuras de datos. Consiste
en una secuencia de nodos, en los que se guardan campos de datos
arbitrarios y una o dos referencias, enlaces o punteros (punteros) al
nodo anterior o posterior. El principal beneficio de las listas enlazadas
respecto a los vectores convencionales es que el orden de los elementos
enlazados puede ser diferente al orden de almacenamiento en la
memoria o el disco, permitiendo que el orden de recorrido de la lista sea
diferente al de almacenamiento.
Una lista enlazada es un tipo de dato autoreferenciado porque contienen
un puntero o enlace (en inglés link, del mismo significado) a otro dato
del mismo tipo. Las listas enlazadas permiten inserciones y eliminación
de nodos en cualquier punto de la lista en tiempo constante (suponiendo
que dicho punto está previamente identificado o localizado), pero no
permiten un acceso aleatorio. Existen diferentes tipos de listas
enlazadas: Lista Enlazadas Simples, Listas Doblemente Enlazadas, Listas
Enlazadas Circulares y Listas Enlazadas Doblemente Circulares.
11. Tipos de listas
Lista densa: la propia estructura determina cuál es el
siguiente elemento de la lista. Ejemplo: un array.
Lista enlazada: la posición del siguiente elemento de la
estructura la determina el elemento actual.
Una lista es una secuencia de elementos llamados
nodos. Cada nodo esta formado por un campo de datos
y 1 o más campos de enlace que apunta(n) al siguiente
nodo. Todo nodo tiene un predecesor y antecesor
excepto el primero y el último.