
Learning Javascript Data Structures and Algorithms
Loiane Groner
- Editorial
- Packt
- Año
- 2016
- Páginas
- ~307
- Nivel
- Básico
De qué trata
Segunda edición de la guía formativa escrita por Loiane Groner y publicada por Packt Publishing en junio de 2016, diseñada para enseñar estructuras de datos y algoritmos fundamentales utilizando el lenguaje JavaScript. Esta edición actualiza todos los ejemplos al estándar moderno ECMAScript 6 (ES6 / ES2015), utilizando clases, constantes, variables de ámbito de bloque (`let`/`const`) y los nuevos tipos nativos de la especificación. Está dirigida a desarrolladores web frontend y backend de nivel básico e intermedio que dominan los rudimentos de JavaScript pero carecen de una base formal de ciencias de la computación y necesitan comprender qué ocurre bajo el capó para escribir código más óptimo y escalable.
El libro guía al lector en la implementación artesanal y orientada a objetos de cada estructura sin depender de bibliotecas externas. Comienza repasando métodos funcionales sobre matrices (`forEach`, `map`, `filter`, `reduce`), y pasa a construir desde cero clases en ES6 para pilas (LIFO), colas regulares y de prioridad (FIFO), listas enlazadas (simples, doblemente enlazadas y circulares), conjuntos matemáticos (con operaciones de unión, intersección y diferencia), diccionarios y tablas hash con resolución de colisiones mediante encadenamiento separado y sondeo lineal, comparándolos con las estructuras nativas `Set`, `Map`, `WeakSet` y `WeakMap` de ES6. Posteriormente, cubre árboles binarios de búsqueda (BST) con recorridos in-order, pre-order y post-order, árboles auto-balanceados AVL, y grafos representados por listas y matrices de adyacencia con algoritmos de recorrido (BFS, DFS), caminos mínimos (Dijkstra, Floyd-Warshall) y árboles de expansión mínima (Prim y Kruskal). Por último, explica algoritmos de ordenación (Burbuja, Selección, Inserción, Merge Sort, Quicksort), búsqueda binaria, el barajado de Fisher-Yates y patrones algorítmicos como divide y vencerás, programación dinámica y algoritmos voraces.
La autora combina la teoría elemental de cada estructura con implementaciones prácticas inmediatas que resuelven problemas cotidianos, como la simulación de colas circulares o la conversión de representaciones numéricas mediante pilas. Su mayor valor reside en desmitificar las ciencias de la computación para el ecosistema web, explicando la notación Big-O con claridad y mostrando cómo estructurar código limpio y mantenible en JavaScript moderno. No profundiza en estructuras avanzadas de memoria compartida, concurrencia en Web Workers ni tipado estático con TypeScript, pero constituye un texto introductorio idóneo para preparar entrevistas técnicas de frontend y dar el salto cualitativo de desarrollador empírico a programador con bases arquitectónicas sólidas.
- JavaScript ES6
- Estructuras de datos
- Pilas y colas
- Listas enlazadas
- Tablas hash
- Árboles binarios (BST)
- Árboles AVL
- Grafos y Dijkstra
- Algoritmos de ordenación
- Notación Big-O
- Programación dinámica
¿Cómo enseña?
Teoría + práctica
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
Conversor de base numérica
Algoritmo interactivo basado en una estructura de pila (LIFO) implementada en clases ES6 que convierte números enteros en base decimal a binario o a cualquier base personalizada hasta base 36.
Simulador del juego de la patata caliente
Simulación por turnos de un juego de eliminación circular basada en una estructura de cola FIFO en JavaScript ES6 para determinar al ganador de forma interactiva.

