Está en la página 1de 22

PROGRAMACION DINAMICA

LISTAS

LINEALES

COLAS PILAS

PROGRAMACION DINAMICA
NO LINEALES ARBOLES GRAFOS

LISTAS

LISTAS
Las listas son secuencias de elementos, donde estos elementos pueden ser accedidos, insertados o suprimidos en cualquier posicin de la lista. No existe restriccin alguna acerca de la localizacin de esas operaciones. Se trata de estructuras muy flexibles puesto que pueden crecer o acotarse como se quiera.

OPERACIONES EN LISTAS ENLAZADAS


Las operaciones que normalmente se realizan con una lista son:

Definicin de la clase Nodo y referencia a Nodo Inicializacin o creacin Insertar elementos en una lista Eliminar elementos de una lista Buscar elementos de una lista Recorrer una lista enlazada Comprobar si la lista est vaca

Listas Simplemente Enlazadas


Es aquella lista que contiene slo un enlace al siguiente elemento. Cada elemento generalmente contiene campos de informacin y un puntero de enlace. La ventaja que se tiene es que cuando se desee insertar un elemento nuevo, no hay que hacerlo en una posicin concreta de la memoria. Lo mismo ocurrir con la operacin de borrado, para eliminar un elemento bastar con aislarlo de la secuencia de orden que sigue la lista.

Representacin Grfica
(Listas Simplemente enlazadas)
inicio

puntero

NULL

Campo de informacin

Acceso a un nodo de la lista


La posicin de un nodo en la lista siempre vendr dada por su direccin, es decir, por una variable de tipo puntero. Por tanto, el acceso a la informacin de ese nodo siempre se har mediante ese puntero. Cuando la posicin del nodo no es conocida es necesario realizar un proceso de bsqueda para localizar el nodo deseado, normalmente en funcin de la informacin que contiene.
inicio

Puntero de bsqueda

NULL

Listas Simplemente Ligadas

Insercin de un nodo a la lista


a) Al inicio de la lista
inicio

5
Al insertar el 4 al inicio de la lista
inicio

NULL

NULL

Listas Simplemente Ligadas

Insercin de un nodo a la lista


b) En medio de la lista
inicio

5
Al insertar el 4 en medio de la lista
inicio

NULL

NULL

Listas Simplemente Ligadas

Insercin de un nodo a la lista


c) Al final de la lista
inicio

5
Al insertar el 4 al final de la lista
inicio

NULL

NULL

Listas Simplemente Ligadas

Eliminacin de un nodo de la lista


a) Al inicio de la lista
inicio

5
Al eliminar el 5 de la lista:
inicio

NULL

NULL

Listas Simplemente Ligadas

Eliminacin de un nodo de la lista


b) En medio de la lista
inicio

5
Al eliminar el 1 de la lista:
inicio

NULL

NULL

Listas Simplemente Ligadas

Eliminacin de un nodo de la lista


c) Al final de la lista
inicio

5
Al eliminar el 9 de la lista:
inicio

NULL

NULL

LISTAS DOBLEMENTE ENLAZADAS


Las listas doblemente enlazadas consisten en datos, ms un enlace al siguiente elemento y otro enlace al elemento anterior.

La lista es eficiente tanto en recorrido directo ( adelante ) como recorrido inverso (atrs).

Representacin Grfica
inicio

(Listas Doblemente enlazadas)

NULL Lista Circular


inicio

NULL

Listas Doblemente Ligadas

Insercin de un nodo a la lista


a) Al inicio de la lista
inicio

NULL

NULL

Al insertar el 4 al inicio de la lista


inicio

NULL

NULL

Listas Doblemente Ligadas

Insercin de un nodo a la lista


b) En medio de la lista
inicio

NULL

NULL

Al insertar el 4 en medio de la lista


inicio

NULL

NULL

Listas Doblemente Ligadas

Insercin de un nodo a la lista


c) Al final de la lista
inicio

NULL

NULL

Al insertar el 4 al final de la lista


inicio

NULL

NULL

Listas Doblemente Ligadas

Eliminacin de un nodo de la lista


a) Al inicio de la lista
inicio

NULL
Al eliminar el 5:

NULL

inicio

NULL

NULL

Listas Doblemente Ligadas

Eliminacin de un nodo de la lista


b) En medio de la lista
inicio

NULL
Al eliminar el 1:

NULL

inicio

NULL

NULL

Listas Doblemente Ligadas

Eliminacin de un nodo de la lista


c) Al final de la lista
inicio

NULL
Al eliminar el 9:

NULL

inicio

NULL

NULL

LISTAS CIRCULAR SIMPLEMENTE ENLAZADA


Una lista enlazada simplemente en la que el ltimo elemento se enlaza (cola) se enlaza al primer elemento (cabeza), de tal modo que la lista puede ser recorrida de modo circular ( en anillo ).

LISTAS CIRCULAR DOBLEMENTE ENLAZADA


Una lista doblemente enlazada en la que el ltimo elemento se enlaza al primer elemento y viceversa. Esta lista se puede recorrer de modo circular (en anillo) tanto en direccin directa ( adelante ) como viceversa (atrs).

También podría gustarte