
Essential Algorithms
Rod Stephens
- Editorial
- Wiley
- Año
- 2013
- Páginas
- ~758
- Nivel
- Básico
De qué trata
Obra de referencia enciclopédica y muy accesible escrita por Rod Stephens, centrada en explicar los algoritmos fundamentales de la informática mediante un enfoque pragmático y visual, prescindiendo de demostraciones matemáticas complejas. En el texto principal se emplea pseudocódigo claro y universal, acompañado de implementaciones completas de referencia en C# (.NET Framework) para poner a prueba el código. Está dirigido a desarrolladores de software en activo, estudiantes y autodidactas que dominan los fundamentos de la programación orientada a objetos y desean entender cómo optimizar el rendimiento de sus sistemas.
El temario ofrece un recorrido exhaustivo: introduce el análisis de complejidad con notación Big-O y aborda algoritmos numéricos esenciales (números primos con la criba de Eratóstenes, máximo común divisor de Euclides, factorización y generadores pseudoaleatorios). Explora estructuras de datos lineales y dinámicas (listas enlazadas, arreglos multidimensionales, matrices dispersas, pilas y colas), métodos de ordenación clásicos y avanzados (quicksort, mergesort, heapsort, radix sort), búsqueda e indexación con tablas hash, recursión y algoritmos sobre árboles (árboles AVL, árboles Rojo-Negro y árboles de decisión con poda alfa-beta para juegos). Asimismo, profundiza en grafos y redes (algoritmos de Dijkstra, Floyd-Warshall, Prim, Kruskal y Ford-Fulkerson para flujo máximo), algoritmos de cadenas (Boyer-Moore, Knuth-Morris-Pratt, distancia de Levenshtein), criptografía básica (cifrados simétricos y RSA) y problemas NP-completos con aproximaciones heurísticas.
Cada capítulo concluye con una batería extensa de ejercicios prácticos cuyas soluciones detalladas se incluyen íntegramente en el Apéndice B del libro. No articula su aprendizaje en torno a un producto final único, sino que aporta un inmenso catálogo de recetas algorítmicas probadas y esquemas de resolución para acertijos típicos de entrevistas técnicas. Su gran valor radica en transformar conceptos habitualmente densos en procedimientos lógicos intuitivos y fáciles de trasladar a cualquier lenguaje de programación moderno.
- Algoritmos
- Estructuras de datos
- Pseudocódigo
- C#
- Notación Big-O
- Algoritmos de grafos
- Dijkstra
- Árboles balanceados
- Recursión
- Algoritmos de cadenas
- Criptografía
- Problemas NP-completos
¿Cómo enseña?
Teoría + práctica
- ✓ Incluye ejercicios
- ✗ Sin proyectos

