Algoritmos y estructuras de datos en Go (Golang)
Algoritmos y estructuras de datos en Go (Golang)
Resumen:
El libro «Algoritmos y estructuras de datos en Go (Golang)» es una guía práctica para desarrolladores que desean profundizar sus conocimientos en algoritmos y estructuras de datos utilizando el lenguaje de programación moderno Go. A diferencia de los libros de texto abstractos, este libro se centra en ejemplos de código reales, rendimiento y el estilo idiomático de Go.
¿De qué trata este libro?
Recorrerás el camino desde las estructuras de datos básicas hasta los algoritmos de optimización complejos. Cada tema incluye:
- Explicación detallada de la teoría y fundamentos matemáticos
- Implementación en Go puro sin dependencias externas
- Análisis de complejidad temporal y espacial (Big O)
- Pruebas de rendimiento (benchmarks) y evaluaciones comparativas
- Problemas prácticos con soluciones
Contenido del libro:
- Fundamentos: Arrays, slices, maps, cadenas — particularidades de trabajo en Go
- Ordenamiento y búsqueda: Ordenamiento rápido, ordenamiento por mezcla, búsqueda binaria, búsqueda de subcadenas
- Listas enlazadas y pilas: Listas simplemente enlazadas, doblemente enlazadas, implementaciones de pila y cola
- Árboles: Árboles binarios de búsqueda, árboles AVL, árboles rojo-negro, árboles B
- Grafos: Representación de grafos, BFS, DFS, algoritmo de Dijkstra, algoritmo A*
- Tablas hash: Implementación con encadenamiento y direccionamiento abierto, funciones hash
- Programación dinámica: Problema de la mochila, distancia de edición, números de Fibonacci
- Algoritmos paralelos: Uso de gorutinas y canales para procesamiento paralelo de datos
¿Para quién es este libro?
- Desarrolladores Go de nivel Junior y Middle que deseen sistematizar conocimientos
- Estudiantes que aprenden algoritmos en la práctica, no solo en teoría
- Ingenieros backend que trabajan con sistemas de alta carga
- Todos los que se preparan para entrevistas técnicas (LeetCode en Go)
¿Qué aprenderás?
- Cómo elegir la estructura de datos adecuada para un problema específico
- Cómo escribir código eficiente en Go teniendo en cuenta las particularidades del recolector de basura
- Cómo evitar errores típicos al trabajar con punteros e interfaces
- Cómo usar gorutinas para acelerar algoritmos
- Cómo probar y perfilar algoritmos en Go
El libro está escrito en un lenguaje vivo con énfasis en la práctica. Todos los ejemplos de código están disponibles en un repositorio de GitHub. Después de leerlo, podrás implementar con confianza cualquier algoritmo en Go y tomar decisiones fundamentadas sobre la arquitectura del software.
Bono: Al final del libro — 50 problemas para resolver de forma independiente con análisis de casos complejos y errores típicos.
Recommendations
Seguridad de aplicaciones Kotlin: Guía completa
Go (Golang) y microservicios: de la idea a la producción
C# (.NET) y Kubernetes: del monolito a los microservicios
C++ y microservicios: Arquitectura, desarrollo y despliegue
Entrevista de Go (Golang): 200 preguntas y respuestas
Swift Concurrency by Tutorials