Alcanzar unos conocimientos sólidos de los conceptos elementales de algorítmica es esencial para que el futuro profesional pueda desarrollar soluciones algorítmicas adecuadas para cada situación concreta. Este manual explica de forma clara y directa los conceptos que plantean más dificultades en esta materia: recursividad, análisis de algoritmos y programación estructurada.
- Cover
- Title page
- Copyright page
- Autor
- Contenido
- Lista de Figuras
- Lista de Algoritmos
- Lista de Tablas
- Capítulo 1. Recursividad
- 1.1 Conceptos de recursividad
- 1.2 Principios de los algoritmos recursivos
- 1.3 Programación con recursividad
- 1.4 Ejemplos de algoritmos recursivos
- 1.5 Finalización de la secuencia de llamadas recursivas
- 1.6 Tipos de recursividad
- 1.7 Transformación de algoritmos recursivos en iterativos
- 1.8 Resumen de recursividad
- 1.9 Ejercicios
- Capítulo 2. Técnicas de Análisis de Algoritmos
- 2.1 Eficiencia de los algoritmos
- 2.2 Notación asintótica
- 2.3 Cálculo del tiempo de ejecución
- 2.4 Análisis de la recurrencia
- 2.5 Ejercicios
- Capítulo 3. Métodos de Búsqueda y Clasificación
- 3.1 Búsqueda lineal
- 3.1.1 Búsqueda lineal con marcador
- 3.2 Búsqueda binaria
- 3.2.1 Búsqueda binaria simplificada
- 3.3 Esquemas simples de clasificación
- 3.3.1 Algoritmo de la Burbuja: Bubble Sort
- 3.3.2 Algoritmo de Inserción: Insertion Sort
- 3.3.3 Algoritmo de Selección: Selection Sort
- 3.4 Clasificación por intercalación:Merge Sort
- 3.5 Clasificación rápida:QuickSort
- 3.6 Ejercicios
- Capítulo 4. Diseño Descendente
- 4.1 Motivación
- 4.2 Principios del diseño descendente
- 4.3 Esquemas algorítmicos de tratamiento secuencial
- 4.3.1 Recorrido
- 4.3.2 Búsqueda
- 4.3.3 Esquema mixto de búsqueda y recorrido
- 4.3.4. Composición de esquemas
- 4.4 Ejemplos de diseño descendente
- 4.5 Ejercicios
- Bibliografía
- Apéndice 1. Soluciones de los ejercicios propuestos
- 1.1 Ejercicios de recursividad
- 1.2 Ejercicios de análisis de algoritmos
- 1.3 Ejercicios de búsqueda y clasificació
- 1.4. Ejercicios de diseño descendente