
Hands On Data Structures and Algorithms with JavaScript
Kashyap Mukkamala
- Editorial
- Packt
- Año
- 2018
- Páginas
- ~332
- Nivel
- Intermedio
De qué trata
Guía práctica de Kashyap Mukkamala editada por Packt que conecta la algoritmia clásica con los estándares modernos de JavaScript (ES6 / ECMAScript 2015 y Node.js). El texto está orientado a desarrolladores de nivel intermedio a avanzado que ya programan regularmente en JavaScript y quieren escribir código altamente optimizado y escalable, entendiendo qué estructura de datos elegir para minimizar el consumo de memoria y optimizar el tiempo de ejecución en aplicaciones web y backend.
A lo largo de los capítulos se construyen estructuras clásicas con sintaxis moderna de clases (pilas y colas) y se profundiza en las colecciones nativas de ES6: Set, Map, WeakSet y WeakMap, explicando su relación directa con la recolección de basura. Continúa con estructuras jerárquicas como árboles de búsqueda, árboles de prefijos (Trie), árboles de decisión y grafos, junto con algoritmos de ordenamiento (Merge Sort, Quicksort, Insertion Sort) y algoritmos avanzados como Dijkstra y la mochila 0/1. Dedica además secciones específicas al análisis de complejidad con notación Big O y a microoptimizaciones dentro del motor V8 de Google Chrome para mitigar fugas de memoria.
A diferencia de manuales abstractos, el valor diferencial del libro reside en que cada estructura se aterriza en un componente funcional o mini-proyecto de aplicación real, como analizadores de código, motores de historial, sistemas de mensajería con colas y recomendadores en grafos. Aporta una perspectiva pragmática para la ingeniería de software cotidiana en JavaScript, dejando fuera aspectos de diseño de interfaces visuales o bases de datos relacionales. Resulta fundamental dominar previamente la sintaxis de ES6 y los patrones asíncronos en Node.js.
- JavaScript ES6
- Estructuras de datos
- Pilas y colas
- Map y Set
- Árboles Trie
- Grafos
- Algoritmo de Dijkstra
- Notación Big O
- Motor V8
- Optimización de memoria
¿Cómo enseña?
Con proyectos
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
Analizador sintáctico y gestor de navegación
Utiliza pilas en JavaScript para procesar y evaluar código dentro de un editor web, además de modelar el historial de navegación hacia atrás de una interfaz de usuario.
Servicio de mensajería asíncrona con cola
Implementa colas y colas de prioridad en JavaScript para secuenciar el procesamiento de mensajes y gestionar escenarios de fallo con reintentos.
Buscador autocompletado y predictor de crédito
Aplica árboles Trie para realizar búsquedas predictivas en tiempo real (typeahead) y un árbol de decisión para clasificar solicitudes de aprobación crediticia.
Sistema de recomendaciones en redes sociales
Modela relaciones complejas entre usuarios mediante estructuras de grafos para generar sugerencias de contactos y referencias en bolsas de trabajo.

