Académique Documents
Professionnel Documents
Culture Documents
ESTRUCTURAS DE DATOS
Las estructuras de datos determinan la conexin lgica entre los datos y afectan el
procesamiento fsico de los datos. En programacin, una estructura de datos
(EDD) es una forma de organizar la mnima informacin de un sistema, con el
objetivo de facilitar la manipulacin de estos datos como un todo o
individualmente. Una EDD define la organizacin e interrelacin de estos y un
conjunto de operaciones que se pueden realizar sobre ellos. Las operaciones
bsicas son:
COLAS
5
Sacar
Meter
Frente
Final
Operaciones Bsicas:
o Crear: se crea una cola vaca.
o Encolar (aadir, entrar, insertar): Agregar un elemento al final de la
cola.
o Desencolar (sacar, salir, eliminar): Remover el primer elemento de la
cola.
o Frente (consultar, front): se devuelve el elemento frontal de la cola,
Representacin de Colas
Las colas pueden representarse mediante el uso de:
Arreglos
Listas enlazadas
Array secuencial:
Se desencola, obteniendo un 3:
Se encola un 7:
Enseguida se aprecia que esto tiene un grave defecto, y es que llega un momento
en el que se desborda la capacidad del array. Una solucin nada efectiva es
incrementar su tamao. Esta implementacin es sencilla pero totalmente ineficaz.
Como alternativa se usa el array circular. Esta estructura permite volver al
comienzo del array cuando se llegue al final, ya sea el ndice de entrada o el
ndice de salida.
Array Circular:
Implica reutilizar las componentes del vector que contenan elementos ya
eliminados. Esto es, cuando durante el proceso de aadido lleguemos al final del
vector, comenzaremos a llenar COLAS CIRCULARES proceso de aadido
8
LISTAS
Una lista enlazada es una de las estructuras de datos fundamentales, y puede ser
usada para incrementar otras estructuras de datos. Una lista consiste en una
secuencia de nodos, en los que se guardan campos de datos arbitrarios y una o
dos referencias (punteros) al nodo anterior o posterior. El principal beneficio de las
listas enlazadas respecto a los arreglos convencionales es que el orden de los
elementos enlazados puede ser diferente al orden de almacenamiento en la
10
Insertar:
forma que la complejidad temporal sea mnima, es decir, que sea una operacin
sencilla para que se realice en el menor tiempo posible. La operacin ms sencilla
depende de la implementacin de la estructura de datos, en unos casos puede ser
la insercin al inicio, en otros la insercin al final y en este caso la insercin la
realiza en el segundo nodo de la lista.
Se tiene la lista:
Borrar:
12
Otras operaciones
A partir de estas dos operaciones bsicas cada lista puede presentar muchas
operaciones diferentes, vamos a comentar algunas de ellas, dejando claro que las
dos bsicas que siempre aparecern son las anteriores.
Implementacin de Listas:
Mediante vectores: utilizando una estructura de datos esttica arreglo para
representar e implementar una lista. Asumiendo que los elementos que contiene
una lista son representados por el tipo entero. La cantidad de elementos que
puede contener la lista tiene un mximo de N elementos. Por lo que la
representacin formal de este tipo se define de la siguiente manera:
Tipo LISTA = arreglo [1n] de ENTEROS; VarL : LISTA;
Mediante Listas doblemente enlazadas: Una lista doble es una estructura lineal
de elementos llamados nodos los cuales contienen dos campos de enlace: uno al
elemento anterior y otro al elemento siguiente de la lista.
El primero nodo de la lista contiene nulo en su enlace al elemento anterior y el
ltimo nodo de la lista contiene nulo en su enlace al elemento siguiente.
14
Una COLA es una lista FIFO: First In, First Out. "Primero en Entrar, Primero en
15
Salir". Es decir los elementos se ordenan desde un extremo (el frente) y se van
ordenando uno detrs del otro. El elemento que est en primer lugar entonces se
eliminar, y ahora el segundo pasar a ser el primero. La representacin ms
visual y que aclara esto lo puedes ver cada vez que haces cola o fila para ser
atendida en caja. Naturalmente, el ltimo en llegar, ser el ltimo en salir.
En cambio, la PILA es una lista LIFO: Last In, First Out. "Primero en Entrar, ltimo
en Salir". Es decir los elementos se van formando de forma inversa, llega el
primero, a continuacin el segundo se ubica delante de l, y as hasta llegar el
ltimo. Ahora en el tope de la pila estar el ltimo. Por tanto a eliminarse, se van
retirando en forma inversa, desde el ltimo hacia el primero. Un ejemplo tpico:
cuando apilas los platos al lavar y secar.
16
CONCLUSIONES
17
WEBGRAFA
1. www.algoritmia.net/articles.php?id=13. Definicin Listas y Clasificacin.
18
2. www.fcqi.tij.uabc.mx/usuarios/palacios/Unidad%20III%20Pilas%20y
%20Colas.pdf. Implementacin de Colas y Listas en Lenguaje C.
3. www.iuma.ulpgc.es/users/jmiranda/docencia/programacion/Tema3_ne.pdf.
Listas enlazadas.
19