1 minute read

Listas Enlazadas

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.

Consisteen una secuenciade nodos, en los que seguardan campos de datos arbitrarios y una o dos referencias, enlaces o punteros al nodo anterior o posterior.

Advertisement

Una lista enlazada es un tipo de dato autorreferenciado porque contienen un puntero o enlace (en inglés link, del mismosignificado) a otro dato del mismotipo.

Las listas enlazadas pueden ser implementadas en muchos lenguajes. Lenguajes tales comoLisp, Schemey Haskell tienen estructuras de datos ya construidas,junto con operaciones para acceder a las listas enlazadas. Lenguajes imperativos u orientados a objetos tales comoC o C++ y Java, respectivamente, disponen de referencias para crear listas enlazadas.

Historia

Las listas enlazadas fueron desarrolladas en 1955-56 por Cliff Shaw y Herbert Simón en RAND Corporation, comola principal estructurade datos para suLenguaje de Procesamientode la Información (IPL).

Se publicó en IRE Transactions on Information Theory en 1956, y en distintas conferencias entre 1957-1959, incluida Proceedings of the WesternJoint Computer en 1957 y 1958

El diagrama clásicoactual, que consisteen bloques que representan nodos de la lista con flechas apuntando a los sucesivos nodos de la lista, apareció en Programmingthe Logic Theory Machine, de Newell y Shaw.

LISP, el principal procesador de listas, fue creado en 1958. Una de las principales estructuras de datos de LISP es la lista enlazada.

Tipos de listas

Listas simples enlazadas

Una variable de referencia contiene una referencia al primer nodo, cada nodo (excepto el último) enlaza con el nodo siguiente, y el enlace del último nodo contiene NULL para indicar el final de la lista.

Listas doblemente enlazadas

Cada nodo tiene dos enlaces: uno apunta al nodo anterior, o apunta al valor NULL si es el primer nodo; y otro que apunta al nodo siguiente, o apunta al valor NULL si es el último

Listas enlazadassimples circulares

Cada nodo tiene un enlace, similar al de las listas enlazadas simples, excepto que el siguiente nodo del último apunta al primero.

Listas enlazadasdoblemente circulares

Cada nodo tiene dos enlaces, similares a los de la lista doblemente enlazada, excepto que el enlace anterior del primer nodo apunta al último y el enlace siguiente del último nodo, apunta al primero.

Nodoscentinelas

Su propósito es simplificar o agilizar algunas operaciones, asegurando que cualquier nodo tiene otro anterior o posterior, y que toda la lista (incluso alguna que no contenga datos) siempre tenga un “primer y último” nodo.

This article is from: