Fecha actual Dom Ago 25, 2019 9:47 pm

¿Qué es una lista (estructura de datos en programación)?

Preguntas y respuestas sobre cualquier aspecto de programación.


Usuarios leyendo este tema: Ninguno

¿Qué es una lista (estructura de datos en programación)?

Notapor ~ » Lun May 12, 2014 11:20 am

Una lista es una estructura de datos similar a un arreglo.

Hay varias diferencias entre una lista y un arreglo.

Un arreglo es una estructura básica, mientras que una lista requiere más datos, y típicamente está expresada en lenguajes orientados a objetos. Una lista tiene asociadas funciones para agregar y eliminar datos, para contabilizar el número de elementos, entre otras como determinar el tamaño en memoria.

Dos de las listas más comunes son las listas vinculadas, en las que cada elemento puede contener un valor y una referencia al siguiente elemento en la lista (vinculación individual), o cada elemento de la lista puede contener un valor y una referencia al elemento anterior y al siguiente elemento (vinculación doble). Listas más complejas también pueden mantener el tamaño de los datos a los que se apunta (es decir, el dato que contiene una entrada puede ser un puntero hacia un área de datos, y en ese caso es necesario indicar el tamaño de dichos datos).

Las listas vinculadas dobles requieren más espacio pero son más eficientes, ya que permiten que operaciones como agregar una entrada al inicio de la lista, insertar entradas en cualquier punto medio, y agregar nuevas entradas, así como eliminar entradas, sea posible de implementar de manera elegante.

El uso de las listas es más lento que el de los arreglos simples, y acceder un índice al azar no necesariamente representa el elemento del índice N (la lista puede fragmentarse).

Una lista también podría implementarse agregando una variable de contador para contabilizar rápidamente el número de entradas y el tamaño total en memoria, y también podría agregar un número de índice virtual para indicar el número de índice que representa (esta última opción puede ser problemática en que no sería fácil de implementar y mantener en listas grandes, pero siempre es posible si realmente es necesario).

Cualquier problema de programación que tenga que ver con punteros, con la adición y eliminación dinámica de datos, con la necesidad de navegar porciones concretas de datos en memoria o un archivo, puede tratarse eficientemente con listas vinculadas cuando se determine o cuando la especificación indique que se necesita el uso de listas vinculadas o de cualquier otro tipo de estructura de datos de lista, raramente usando una versión nativa en problemas de complejidad técnica importante.

Por ejemplo, es posible que los datos a los que apunta cada elemento de una lista tenga tamaños muy variables, y que a su vez esos datos contengan muchas variables.





Evaluar la Calidad de Esta Información




Imagen
IP for hosts file (email udocproject@yahoo.com to get updates if website becomes offline):
Código: Seleccionar todo
190.150.9.244 archefire.org



See what I'm doing in real time:
Main Desktop 1
Main Desktop 2
Avatar de Usuario
~
Site Admin
 
Mensajes: 2958
Registrado: Sab Nov 10, 2012 1:04 pm

Volver a Preguntas y Respuestas

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados


cron