miércoles, 20 de noviembre de 2019

Listas

La lista enlazada es un TDA que nos permite almacenar datos de una forma organizada, al igual que los vectores pero, a diferencia de estos, esta estructura es dinámica, por lo que no tenemos que saber "a priori" los elementos que puede contener.

Los elementos de una lista, suelen recibir también el nombre de nodos de la lista.

Es un conjunto ordenado de elementos homogéneos en la que no hay restricciones de acceso, cualquier elemento es igualmente accesible en un momento dado. 
La introducción y eliminación de elementos puede realizarse en cualquier posición de la misma. 

Se clasifica a la Lista dentro de los contenedores como una secuencia. Cada elemento de una estructura secuencial tan sólo tiene relación con un anterior y un siguiente. 

Las listas por su encadenamiento pueden ser simplemente encadenadas (navegación en una sola dirección) o doblemente encadenadas (navegación en ambas direcciones). 

Además cada uno de estos tipos puede estar implementado en forma lineal o circular. Siendo la primera sin encadenamiento del último con el primero y la segunda con un encadenamiento del último con el primero, dándole la característica de navegación continuada. 


Listas Simples: 

struct lista {
    gint dato;
    lista *siguiente;
};

Lineales: Cada nodo, contiene un único apuntador hacia el siguiente nodo, por lo cual hace de él una estructura muy eficiente, ya que el último de la lista apunta hacia null, por ello, es fácil hacer recorridos directos.


Circulares: Este tipo de lista, es sólo una extensión de las listas simplemente enlazada, con la diferencia que el último elemento se enlaza al primer elemento de la lista, lo cual permite el recorrido en forma de anillo 


Listas Dobles:


struct lista {
    gint dato;
    lista *anterior;
    lista *siguiente;
};


Lineales: Esta lista se caracteriza por que sus nodos contienen dos punteros, uno hacia el nodo siguiente y otro hacia el nodo anterior. 


Circulares: Quizá este tipo de lista, sea la más compleja, ya que es la combinación de la lista circular y las doblemente enlazadas, ya que es una lista doblemente enlazada donde el primer elemento se conecta con el último y viceversa.


No hay comentarios.:

Publicar un comentario

Listado de cases de Bases de datos y sus temas

 Listado de clases de Sistemas de Bases de Datos Clase Clases de 02/04 Clase Clase Temas: Claves foráneas. Clase Clas...