Está en la página 1de 3

Andrade Palacios Luis Ulises Síntesis: Listas

Una lista es una estructura de datos secuencial. Una manera de clasificarlas es


por la forma de acceder al siguiente elemento:

- 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. Es necesario almacenar al menos la posición de memoria del
primer elemento. Además, es dinámica, es decir, su tamaño cambia durante la
ejecución del programa.

Una lista enlazada se puede definir recursivamente de la siguiente manera:

- una lista enlazada es una estructura vacía o


- un elemento de información y un enlace hacia una lista (un nodo).

Gráficamente se suele representar así:

Operaciones básicas sobre listas


- Inserción al comienzo de una lista:
Es necesario utilizar una variable auxiliar, que se utiliza para crear el nuevo nodo
mediante la reserva de memoria y asignación de la clave. Posteriormente es
necesario reorganizar los enlaces, es decir, el nuevo nodo debe apuntar al que era
el primer elemento de la lista y a su vez debe pasar a ser el primer elemento.
Ejemplo:
Andrade Palacios Luis Ulises Síntesis: Listas

- Recorrido de una lista.

La idea es ir avanzando desde el primer elemento hasta encontrar la lista vacía.


Antes de acceder a la estructura lista es fundamental saber si esa estructura
existe, es decir, que no está vacía. En el caso de estarlo o de no estar inicializada
es posible que el programa falle y sea difícil detectar donde, y en algunos casos
puede abortarse inmediatamente la ejecución del programa, lo cual suele ser de
gran ayuda para la depuración.
Como se ha dicho antes, la lista enlazada es una estructura recursiva, y una
posibilidad para su recorrido es hacerlo de forma recursiva.

Ejemplo:

Listas Simplemente Vinculadas.


Una lista simplemente vinculada (o lista simple) es una estructura lineal
compuesta por una serie de elementos individuales llamados nodos. Cada nodo
es un registro formado, mínimamente, por dos campos: uno de ellos (que
llamaremos info) contiene el valor que se almacena en el nodo; el otro (que
llamaremos next) es un puntero con la dirección del nodo sucesor.

El campo next del último nodo, normalmente vale NULL, indicando que el nodo no
tiene sucesor. La dirección del primer nodo de la lista se almacena en un puntero
separado, al que podemos llamar frente (ver gráfico siguiente).
Andrade Palacios Luis Ulises Síntesis: Listas

REFERENCIAS

ALGORITMIA ALGO+ - Algoritmos y Estructuras de Datos. (s. f.).

http://www.algoritmia.net/articles.php?id=13

Fritelli, V. Guzman, A. y Tymoschuk, J. (2020). Algoritmos y estructuras de datos (2a. ed.).


Jorge Sarmiento Editor - Universitas. Recuperado de
https://elibro.net/es/ereader/cesun/175249?page=265

También podría gustarte