Estructuras de Datos: Listas Enlazadas en JavaScript
Clase 15 de 29 • Curso de Estructuras de Datos con JavaScript
Contenido del curso
Arrays y strings
- 4

Cómo funcionan arrays en memoria de JavaScript
07:23 min - 5

Construcción de Arrays con Clases en JavaScript
09:33 min - 6

Métodos pop y delete en arrays
16:01 min - 7
Playground: crea tu propia implementación de unshift
- 8
Playground: crea tu propia implementación de shift
- 9

Inmutabilidad de Strings y Almacenamiento en Memoria
02:42 min
Hash Table
Linked List
- 15

Estructuras de Datos: Listas Enlazadas en JavaScript
Viendo ahora - 16

Estructura y Creación de una Lista Enlazada Simple en JavaScript
10:03 min - 17

Métodos para Manipular Nodos en Listas Enlazadas
12:12 min - 18

Inserta nodos intermedios sin romper enlaces en JavaScript
16:08 min - 19

Doubly Linked List con punteros bidireccionales
07:51 min
Stacks
Queues
Trees
Graphs
Cierre
Domina la estructura de datos linked list en JavaScript con una guía clara y directa. Entenderás qué es una single linked list, cómo se enlazan los nodos con pointers y por qué su acceso difiere de arrays y hash tables. Además, repasamos los métodos prepend, append, lookup/search, insert y delete para manipularla con confianza.
¿Qué es una linked list y por qué es diferente?
A diferencia de arrays u objetos en JavaScript, una linked list no ofrece acceso directo por índice o key. Su lógica se basa en nodos enlazados: cada nodo guarda un valor y una referencia next al siguiente nodo. Así se construye una cadena que comienza en head y termina en tail, cuyo next apunta a null.
- Acceso secuencial: se recorre desde el head hasta encontrar el nodo deseado.
- Diferencia clave: no hay acceso aleatorio como en un array ni búsqueda por key como en una hash table.
- Estructura visual: nodos unidos por flechas que representan los pointers entre elementos.
¿Cómo se conectan los nodos con next?
Cada nodo se compone de dos partes: valor y next. El campo next guarda la referencia al siguiente nodo. Esta referencia es lo que “liga” la lista y permite avanzar nodo a nodo.
¿Qué papel tienen head y tail?
- Head: primer nodo de la lista, punto de partida de cualquier recorrido.
- Tail: último nodo, cuya referencia next es null.
¿Qué métodos de una linked list necesitas dominar?
Manipular una single linked list implica operar sobre nodos y referencias. Estos son los métodos mencionados y su objetivo principal:
- prepend: agrega un nodo al inicio; puede convertirse en el nuevo head.
- append: agrega un nodo al final; se convierte en la tail.
- lookup/search: busca un nodo específico recorriendo desde el head.
- insert: agrega un nodo en una posición intermedia, sin ser head ni tail.
- delete: elimina un nodo cuya información ya no se necesita.
¿Cómo se busca sin keys como en una hash table?
Para encontrar un valor debes recorrer la lista: pasas por el primer nodo, luego el segundo, el tercero y así sucesivamente hasta llegar al objetivo. No existe una key que devuelva el valor de forma directa.
¿Cómo se recorre una single linked list paso a paso?
En una single linked list el enlace es unidireccional: cada nodo apunta solo al siguiente. Si llegas al penúltimo nodo y luego necesitas el segundo, no puedes retroceder; debes reiniciar desde el head y recorrer de nuevo.
- Secuencia fija: head → segundo → tercero → … → tail.
- Sin retroceso: para “volver”, se reinicia el recorrido desde el head.
- Pointers: conectan el nodo actual con el siguiente, manteniendo la cadena.
¿Qué ejemplo cotidiano la ilustra en el navegador?
Cuando navegas en una misma ventana, el botón de regresar te lleva paso a paso a las páginas vistas previamente. Para avanzar, usas adelantar. Esa navegación secuencial refleja el comportamiento de una linked list.
¿Por qué recuerda al funcionamiento de bitcoins?
La idea de nodos interconectados que guardan el valor previo puede recordarte cómo operan los bitcoins: cada nodo conoce el pasado y así se forma una cadena continua.
¿Qué sigue para dominarla en JavaScript?
Primero se practica la lógica de recorrido y enlaces; luego, implementarla en JavaScript resulta más simple. Más adelante, se presentará la double linked list, que permite un comportamiento distinto al poder ir hacia atrás.
¿Te quedó alguna duda sobre los métodos o el recorrido desde el head? Comparte tus preguntas y cuéntame qué parte te gustaría practicar primero.