0% encontró este documento útil (0 votos)
13 vistas11 páginas

Lab 2

El documento describe algoritmos para manipular listas enlazadas dobles (DLL), incluyendo operaciones como insertar (prepend y append), eliminar (shift y pop), obtener (get), actualizar (update) e invertir (reverse) nodos. Cada operación se explica con un resumen de su funcionamiento y cómo afecta a los enlaces de los nodos. También se abordan métodos para insertar y eliminar nodos en posiciones específicas dentro de la lista.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
13 vistas11 páginas

Lab 2

El documento describe algoritmos para manipular listas enlazadas dobles (DLL), incluyendo operaciones como insertar (prepend y append), eliminar (shift y pop), obtener (get), actualizar (update) e invertir (reverse) nodos. Cada operación se explica con un resumen de su funcionamiento y cómo afecta a los enlaces de los nodos. También se abordan métodos para insertar y eliminar nodos en posiciones específicas dentro de la lista.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Laboratorio de Algoritmos y Estructuras de Datos

Página 1 de 2

Alumno Nota
0000

EJERCICIOS DE APLICACIÓN

En listas enlazadas doble (DLL) cada nodo tiene tres partes: un DATO, un enlace
IZQUIERDA y un enlace DERECHA (en ambos van al al nodo siguiente), inicialmente apuntan
a vacío.
Laboratorio de Algoritmos y Estructuras de Datos
Página 2 de 2

1.​ Generar algoritmo que inserte (Prepend) elementos en la DLL y explique en palabras simples
cómo funciona.

Explicación: Cuando usamos el PREPEND en una lista doblemente enlazada, lo que estamos
haciendo es agregar un nuevo nodo al principio de la lista. Es decir:

●​ El nuevo nodo se agrega al principio.


●​ El nodo de la izquierda del primer nodo antiguo cambia para apuntar al nuevo nodo.
●​ El nuevo nodo apunta a lo que antes era el primer nodo a través de su enlace derecho.
●​ Y la cabeza de la lista se actualiza.
Laboratorio de Algoritmos y Estructuras de Datos
Página 3 de 2

2.​ Generar algoritmo que inserte (Append) elementos en la DLL y explique en palabras simples
cómo funciona.

Explicación: Cuando usamos el APPEND en una lista doblemente enlazada, lo que estamos
haciendo es agregar un nuevo nodo al final de la lista. Es decir:

●​ Se agrega un nuevo nodo al final de la lista.


●​ El último nodo actualizado apunta al nuevo nodo a través de su enlace derecho.
●​ El nuevo nodo tiene su enlace izquierdo apuntando al antiguo último nodo.
●​ El enlace derecho del nuevo nodo es null, ya que es el último.
Laboratorio de Algoritmos y Estructuras de Datos
Página 4 de 2

3.​ Generar algoritmo que elimine (Shift) elementos en la DLL y explique en palabras simples cómo
funciona.

Explicación: Cuando usamos el SHIFT en una lista doblemente enlazada, lo que estamos
haciendo es eliminar el principio nodo de la lista. Es decir:

●​ Se elimina el primer nodo de la lista.


●​ La cabeza de la lista se actualiza para que apunte al siguiente nodo.
●​ El nuevo primer nodo tiene su enlace izquierdo (anterior) apuntando a null.
●​ El primer nodo eliminado es desconectado de la lista y puede ser liberado de la memoria.
Laboratorio de Algoritmos y Estructuras de Datos
Página 5 de 2

4.​ Generar algoritmo que elimine (Pop) elementos en la DLL y explique en palabras simples cómo
funciona.

Explicación: Cuando usamos el POP en una lista doblemente enlazada, lo que estamos haciendo
es eliminar el último nodo de la lista. Es decir:

●​ Se elimina el último nodo de la lista.


●​ El penúltimo nodo actualiza su enlace derecho (siguiente) para que apunte a null.
●​ El último nodo es desconectado de la lista y puede ser liberado.
●​ Si la lista tiene solo un nodo, ahora la lista quedará vacía.
Laboratorio de Algoritmos y Estructuras de Datos
Página 6 de 2

5.​ Generar algoritmo que obtenga (Get) elementos en la DLL y explique en palabras simples cómo
funciona.

Explicación: Cuando usamos el GET en una lista doblemente enlazada, lo que estamos
haciendo es obtener el valor o dato.

●​ Si se especifica un índice, recorres la lista desde el principio (o desde el final) hasta


encontrar el nodo en esa posición.
●​ Si se especifica un valor, recorres la lista buscando el nodo que contiene ese valor.
●​ Una vez encontrado el nodo, puedes obtener su valor.
Laboratorio de Algoritmos y Estructuras de Datos
Página 7 de 2

6.​ Generar algoritmo que actualice (Update) elementos en la DLL y explique en palabras simples
cómo funciona.

Explicación: Cuando usamos el UPDATE en una lista doblemente enlazada, lo que estamos
haciendo es modificar el valor de un nodo específico en la lista.

●​ Podemos especificar el nodo a actualizar utilizando un índice o un valor.


●​ Se recorre la lista hasta encontrar el nodo que deseas actualizar.
●​ Una vez encontrado, se cambia su valor, pero los enlaces (izquierda y derecha) no se
modifican.
Laboratorio de Algoritmos y Estructuras de Datos
Página 8 de 2

7.​ Generar algoritmo que invierta (Reverse) elementos en la DLL y explique en palabras simples
cómo funciona

Explicación: Cuando usamos el REVERSE en una lista doblemente enlazada, lo que estamos
haciendo es invertir el orden de los nodos en la lista.
●​ Para cada nodo, los enlaces izquierdo y derecho se intercambian.
●​ Al final del proceso, la cabeza de la lista apunta al antiguo último nodo, y el último nodo
tiene su enlace derecho (siguiente) apuntando a null.
Laboratorio de Algoritmos y Estructuras de Datos
Página 9 de 2

En este apartado también incluye insertar y eliminar elementos en posiciones específicas de


los elementos:

Este método INSERTAR_EN _POSICION inserta un nuevo nodo en la posición especificada de


la lista. Si la posición es 0, el nodo se inserta al principio. Si la posición es mayor que el número
de nodos, el nuevo nodo se agrega al final. Si la posición es válida, se insertan los enlaces de los
nodos adyacentes correctamente.
Laboratorio de Algoritmos y Estructuras de Datos
Página 10 de 2

Este método ELIMINAR_EN _POSICION elimina el nodo en la posición especificada de la


lista. Si la posición es 0, se elimina el primer nodo. Si la posición es válida y no es 0, el nodo se
elimina entre sus nodos vecinos (actualizando los enlaces izquierda y derecha). Si el nodo a
eliminar es el último nodo, se usa el método pop() para eliminarlo.

CONCLUSIONES:
1.​ 123

También podría gustarte