En Ciencias de la Computación, 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 (punteros) al nodo anterior o posterior. El principal beneficio de las listas enlazadas respecto a los array 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 auto-referenciado porque contienen un puntero o link 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.
Las listas enlazadas pueden ser implementadas en muchos lenguajes. Lenguajes tales como Lisp y Scheme tiene estructuras de datos ya construidas, junto con operaciones para acceder a las listas enlazadas. Lenguajes imperativos u orientados a objetos tales como C o C++ y Java, respectivamente, disponen de referencias para crear listas enlazadas.
COLAS
Los elementos se atienden en el orden en que llegaron; es decir el primer elemento en entrar en una cola es el primero en salir. Se ingresa por la cabeza y se añaden al final de la cola. (FIFO = first in first out; primero en entrar primero en salir).
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.
Ejemplos de colas en la vida real serían: personas comprando en un supermercado, esperando para entrar a ver un partido de béisbol, esperando en el cine para ver una película, una pequeña peluquería, etc. La idea esencial es que son todos líneas de espera.
PILAS
Permiten insertar o eliminar elementos por un solo extremode la lista llamado cima(top). Este concepto desde el punto de vista informatico es similar al concepto de pila en la vida real.
Ejemplos: pilas de platos o pilas de libros.
Las oprecaiones basicas que se asocian con una pila son:
- Crear o iniciar (inicializa una pila vacia)
- Pila vacia (determina si una pila esta vacia o no)
- Pila llena (determina si la pila esta llena)
- Push (inserta un elemento en la cima de la pila)
- Pop (elimina el ultimo elemento de la pila)
-Bibliografia
http://es.wikipedia.org/wiki/Lista_%28inform%C3%A1tica%29
http://www.slideshare.net/juliocanelon/pilas-y-colas
Bien; 5.
ResponderEliminar