Algoritmos y estructuras de datos en Go (Golang)
Algoritmos y estructuras de datos en Go (Golang)
Resumen:
Este libro es tu guía al mundo de la programación eficiente en Go (Golang). Está creado para desarrolladores que quieren no solo escribir código, sino crear aplicaciones rápidas, fiables y escalables. Independientemente de si estás comenzando tu camino en Go o ya tienes experiencia, encontrarás aquí conocimientos valiosos.
El libro está estructurado según el principio «de lo simple a lo complejo». Comenzaremos con lo básico: analizaremos qué son los algoritmos y las estructuras de datos, por qué su elección es críticamente importante para el rendimiento, y cómo Go ayuda a escribir código conciso pero potente. Luego nos sumergiremos en la práctica.
Qué aprenderás de este libro:
- Estructuras de datos fundamentales: arrays, slices, listas, pila y cola, tablas hash (map), árboles (binarios, AVL, rojo-negro). Aprenderás a elegir la estructura correcta para cada tarea.
- Algoritmos clásicos: ordenamiento (rápido, por mezcla, burbuja), búsqueda (lineal, binaria), algoritmos en grafos (BFS, DFS, Dijkstra).
- Trabajo con memoria en Go: punteros, recolección de basura, gestión de memoria en gorutinas. Cómo escribir código que no «fuga» ni se ralentiza.
- Concurrencia y paralelismo: canales, gorutinas, mutex. Implementación de algoritmos multihilo: ordenamiento por mezcla en gorutinas, recorrido paralelo de grafos.
- Optimización del rendimiento: benchmarks, perfilado (pprof), búsqueda de cuellos de botella. Cómo medir y acelerar tu código.
- Proyectos prácticos: escribiremos un caché en memoria, una base de datos simple, un analizador de logs y un enrutador HTTP desde cero. Cada proyecto es un módulo listo para usar.
Para quién es este libro:
- Desarrolladores Go principiantes que quieren sistematizar sus conocimientos.
- Programadores experimentados que migran desde otros lenguajes (Python, Java, C++).
- Estudiantes y profesores de cursos sobre algoritmos.
- Ingenieros que se preparan para entrevistas técnicas.
Cada capítulo contiene teoría, diagramas ilustrativos, ejemplos de código en Go y ejercicios para afianzar. No solo leerás: escribirás decenas de funciones, estructuras y tests. Al final del libro, habrás formado un «pensamiento algorítmico»: podrás descomponer problemas complejos en pasos simples e implementarlos en Go.
El libro está escrito en un lenguaje vivo, con énfasis en la práctica. Sin «relleno» — solo lo que realmente será útil en el trabajo. Todos los ejemplos están probados en Go versión 1.21+ y están disponibles en el repositorio.
Recommendations
Algoritmos y estructuras de datos en Rust
Java para principiantes: curso completo
Arquitectura de aplicaciones C++: del proyecto a la producción
Flask Web Development: desarrollo de aplicaciones web con Flask
Cython: guía para programadores de Python
gRPC: Up and Running. Creación de aplicaciones en la nube con Go y gRPC