Listas
Tipos de datos complejos
Desde la perspectiva de computación una lista (list) es una zona de almacenamiento
de elementos conectados secuencialmente para poder ser manipulados dinámicamente
y así acceder a todos sus nodos bajo el mismo nombre, está serie de elementos pueden
ser mismo tipo o diferentes identificados por quién accede a la misma. Desde el punto
de vista lógico podemos considerarlas como un conjunto de elementos agrupados para
facilitar su acceso.
Las variables primitivas (int, float, string, char, bool) poseen un tamaño de memoria
reserva (bytes) estático dependiendo de su tipo ya sean simples o complejas teniendo
en cuenta la dimensión previamente definida (array) en tiempo de compilación, pero su
contenido si puede ser modificado durante la ejecución del programa a través de un
proceso.
En los sistemas de información a veces es necesario capturar memoria
dinámicamente en tiempo de ejecución porque se desconoce con antelación el tamaño
de memoria RAM necesario para ejecutar el programa. La solución este conflicto se
realiza por medio de programas que deberán tomar memoria solicitada a través de una
estructura de datos previamente construida y luego liberarla según los requisitos
expuestos en la lógica del algoritmo diseñado.
Estas estructuras dinámicas son manejadas a través de un nuevo tipo de dato
denominado “puntero” permitiendo contener la dirección inicial de otra variable. Por
medio de este tipo de variable es posible conectar una variable simple o una estructura
de datos con otra denominada nodo, construida dinámicamente enlazando cada uno de
ellos para construir una estructura lineal o una estructura no lineal de forma ágil y
dinámica.
Puntero Nodo Nodo Nodo
16 ■ -23 ■ 65 Fin
■
Estructura Lineal
Página 1 de 3
Listas
Puntero Nodo Nodo Nodo
16 ■ ■ -23 ■ 65 Fin
■
31 ■ -8 Fin
Estructura no Lineal
Estas estructuras dinámicas si son accedidas desde su puntero inicio a todos sus
nodos hasta el final determina una lista con formato lineal caso contrario es una lista no
lineal. Las listas son objetos abstractos donde cado nodo tiene un predecesor a
excepción del primero y un sucesor a excepción del último.
La longitud de una lista se encuentra definida por la cantidad de elementos
enlazados al inicio de la mismo pudiendo contener 0 (cero), denominada nula o vacía, ó
más nodos.
Una lista puede ser vista, de manera abstracta, como un conjunto de datos (simples o
estructurados), donde cada elemento tiene un predecesor (excepto el primero) y un sucesor
(excepto el último) y cuyo número de elementos intermedios entre el primero y el último
es variable.
Página 2 de 3
Listas
Página 3 de 3