universidad F. T.

9
LISTAS ENCADENADAS Estudiante: Judith V. Montilla P. C.I.: 18.263.657 Estructura de Datos I Saia A UNIVERSIDAD FERMÍN TORO VICERECTORADO ACADÉMICO SISTEMA DE APRENDIZAJE INTERACTIVO A DISTANCIA

Transcript of universidad F. T.

Page 1: universidad F. T.

LISTAS ENCADENADASEstudiante: Judith V. Montilla P.C.I.: 18.263.657Estructura de Datos ISaia A

UNIVERSIDAD FERMÍN TOROVICERECTORADO ACADÉMICO

SISTEMA DE APRENDIZAJE INTERACTIVO A DISTANCIA

Page 2: universidad F. T.

DEFINICIÓN

Las listas enlazadas constituyen una colección de elementos llamados nodos, el orden entre éstos se establece por medio de punteros; es decir, direcciones o referencias a otros nodos. Un tipo especial de lista simplemente ligada es la lista vacía.

Se denomina lista simplemente enlazada a la lista cuyo campo liga es uno solo, es decir, que apunta a un solo nodo.

Ejemplo de lista simplemente enlazada que almacena apellidos

El primer nodo de la lista es apuntado por una variable P, de tipo apuntador (P almacena la dirección del primer nodo). El campo liga del último nodo de la lista tiene un valor de NULL, que indica que dicho nodo no apunta a ningún otro. El apuntador al inicio de la lista es importante porque permite posicionarnos en el primer nodo de la misma y tener acceso al resto de los elementos. Si, por alguna razón, este apuntador se extraviara, entonces perderíamos toda la información almacenada en la lista. Por otra parte, si la lista estuviera vacía, entonces el apuntador al inicio tendrá el valor de NULL.

Page 3: universidad F. T.

NODO

En general, un nodo consta de dos partes:1. Un campo INFORMACIÓN que será del tipo de datos que se quiera almacenar en la

lista.2. Un campo LIGA, de tipo puntero, que se utiliza para establecer la liga o el enlace con

otro nodo de la lista. Si el nodo fuera el último de la lista este campo tendrá como valor NULL (vacío). Al emplearse el campo liga para relacionar dos nodos no será necesario almacenar físicamente a los nodos en espacios contiguos.

Estructura de un Nodo

Page 4: universidad F. T.

OPERACIONES BÁSICAS

Las operaciones que pueden efectuarse en una lista simplemente enlazada son:

1. Recorrido de la lista.2. Inserción de un elemento.3. Borrado de un elemento.4. Búsqueda de un elemento.

Page 5: universidad F. T.

Recorrido de la Lista

La operación de recorrido en una lista simplemente ligada consiste en visitar cada uno de los nodos que forman la lista. La lista puede implicar una operación simple; por ejemplo, imprimir la información del nodo, o una compleja,

dependiendo del problema que se intenta resolver. Para recorrer todos los nodos de una lista simplemente ligada se comienza con el primero, tomando el valor del campo

Liga de este y se avanza al segundo, y así sucesivamente hasta llegar al último nodo, cuyo campo LIGA tiene el valor NULL.

En general, la dirección de un nodo, excepto el primero, está dada por el campo LIGA de su predecesor.

Page 6: universidad F. T.

Inserción de un Elemento. La operación de inserción en listas simplemente ligadas consiste en agregar un nuevo nodo a la

lista, sin embargo, dependiendo de la posición en la que se deba insertar el nodo, se pueden presentar diferentes casos:

1. Insertar un nodo al inicio de la lista. 2. Insertar un nodo al final de la lista. 3. Insertar un nodo antes que otro cuya información es X.4. Insertar un nodo después de otra cuya información es X.

Page 7: universidad F. T.

Borrado de un Elemento.

La operación de eliminación en listas simplemente ligadas consiste en eliminar un número de la lista y liberar el espacio de memoria correspondiente. Dependiendo de la posición en la que este se encuentre, se pueden presentar diferentes casos, como los que se señalan a continuación:

1. Eliminar el primer nodo. 2. Eliminar el ultimo nodo. 3. Eliminar un nodo con información X.4. Eliminar el nodo anterior al nodo con información X.5. Eliminar el nodo posterior al nodo con información X.

Page 8: universidad F. T.

Búsqueda de un Elemento

La operación de búsqueda de un elemento en una lista simplemente ligada es muy fácil de realizar, aunque ineficiente ya que se lleva a cabo de forma secuencial.

Se debe haber recorrido los nodos hasta encontrar el que estamos buscando o hasta que se llega al final de la lista.

El algoritmo es similar a los que se desarrollaron para recorrer una lista en forma iterativa o recursiva.

Al igual que en las operaciones vistas anteriormente, existe diferencias en los algoritmos si las listas se encuentran ordenadas o desordenadas.

Se comenzara en el primer término, con el algoritmo de búsqueda para listas simplemente ligadas que encuentran desordenadas.

Page 9: universidad F. T.