
Data Structures and Algorithms in JavaScript
Federico Kereki
- Editorial
- No Starch Press
- Año
- 2025
- Páginas
- ~595
- Nivel
- Intermedio
De qué trata
Tratado exhaustivo y riguroso de Federico Kereki, publicado por No Starch Press (edición 2024/2025), enfocado en la implementación de estructuras de datos y algoritmos utilizando las capacidades más avanzadas de JavaScript moderno (ES2024/ESNext) con un marcado énfasis en la programación funcional y la inmutabilidad. Está dirigido a desarrolladores de nivel intermedio y avanzado —ingenieros frontend que manejan estados complejos en el navegador, programadores backend que diseñan servicios de alto rendimiento en Node.js y candidatos a puestos senior en empresas tecnológicas— que buscan un nivel de profundidad equivalente al de un curso universitario de ciencias de la computación.
La obra estructura sus contenidos combinando tipos de datos abstractos (TDA) y el análisis matemático de rendimiento mediante notación Big-O con patrones funcionales limpios. Enseña estrategias de diseño como fuerza bruta, divide y vencerás, algoritmos voraces (greedy), retroceso (backtracking) y programación dinámica. Abarca algoritmos de ordenación (quicksort, merge sort, timsort, heapsort), selección, barajado (shuffling) y búsqueda digital. En cuanto a estructuras, va mucho más allá de lo básico: implementa listas, bolsas (bags), conjuntos, mapas, árboles binarios de búsqueda autobalanceados, árboles generales y bosques, montículos binarios y extendidos (priority queues), árboles digitales de búsqueda (trie) y grafos (con algoritmos de recorrido, caminos mínimos y árboles de recubrimiento mínimo), priorizando estructuras de datos funcionales e inmutables.
El texto sigue un modelo mixto: equilibra explicaciones teóricas rigurosas con código JavaScript modular y listo para su uso, completando cada capítulo con preguntas de revisión teórica y problemas de código de nivel entrevista técnica con soluciones razonadas. No desarrolla un único proyecto monolítico de software, sino componentes reutilizables y algoritmos probados. Destaca por elevar el nivel habitual de los textos sobre JavaScript, ofreciendo un puente sólido entre la teoría algorítmica y las aplicaciones contemporáneas. Conviene contar con bases sólidas de JavaScript moderno, manejo fluido de funciones de orden superior y conceptos elementales de matemáticas discretas.
- JavaScript moderno
- Estructuras de datos avanzadas
- Algoritmos
- Programación funcional
- Notación Big-O
- Árboles y bosques
- Grafos
- Montículos (Heaps)
- Programación dinámica
- Backtracking
- Inmutabilidad
¿Cómo enseña?
Teoría + práctica
- ✓ Incluye ejercicios
- ✗ Sin proyectos

