
Algorithms Design and Analysis
Harsh Bhasin
- Editorial
- Oxford University Press
- Año
- 2015
- Páginas
- ~692
- Nivel
- Básico
De qué trata
Manual universitario escrito por Harsh Bhasin y publicado en 2015 por Oxford University Press (OUP India), concebido como libro de texto integral para estudiantes de grado y posgrado en Ingeniería Informática, Ciencias de la Computación y Sistemas. También funciona como guía preparatoria rigurosa para exámenes competitivos de ingeniería (como GATE) y entrevistas técnicas en el sector tecnológico. Su enfoque pedagógico parte de un nivel formativo básico y progresivo, requiriendo únicamente conocimientos previos elementales de programación estructurada en C y nociones fundamentales de matemáticas discretas.
La obra está estructurada didácticamente en cuatro grandes bloques: fundamentos de complejidad, estructuras de datos, paradigmas de diseño algorítmico y temas avanzados. Explica con precisión matemática el crecimiento de funciones, recurrencias y el teorema maestro, y revisa estructuras esenciales como listas, pilas, colas, árboles binarios de búsqueda, árboles AVL, árboles Rojo-Negro, árboles B y grafos. A continuación, profundiza en las metodologías clásicas de diseño: divide y vencerás (Quicksort, Mergesort, multiplicación de Strassen), enfoque voraz (*greedy*, como Kruskal, Prim, codificación de Huffman), programación dinámica (mochila 0/1, subsecuencia común más larga, Floyd-Warshall), vuelta atrás (*backtracking*, como el problema de las N-Reinas y ciclos hamiltonianos), ramificación y poda (*branch and bound*, como el puzzle del 15 y el viajante de comercio) y algoritmos probabilísticos. El tramo final aborda la teoría de complejidad computacional (clases P, NP, NP-completo y NP-duro mediante el teorema de Cook), algoritmos de aproximación, emparejamiento de cadenas (Knuth-Morris-Pratt y Rabin-Karp), geometría computacional y aplicaciones contemporáneas en aprendizaje automático (*machine learning*) y biología computacional.
Cada algoritmo se acompaña de su derivación matemática formal, trazas de ejecución ilustradas, pseudocódigo estandarizado e implementaciones completas en lenguaje C. El mayor valor del libro reside en su arsenal de recursos didácticos: incluye cientos de ejercicios de fin de capítulo, problemas analíticos y baterías de preguntas de opción múltiple (MCQs) orientadas a exámenes oficiales. Al tratarse de un texto eminentemente académico, no desarrolla aplicaciones de software comerciales completas, pero proporciona una base analítica impecable indispensable para superar con solvencia pruebas técnicas de selección y cursos universitarios de algoritmos avanzados.
- Diseño de algoritmos
- Análisis de complejidad
- Programación dinámica
- Algoritmos voraces
- Divide y vencerás
- Vuelta atrás (Backtracking)
- Ramificación y poda
- Clases P y NP
- Lenguaje C
- Árboles avanzados
- Algoritmos de cadenas
¿Cómo enseña?
Con ejercicios
- ✓ Incluye ejercicios
- ✗ Sin proyectos

