Villegas Jaramillo, Eduardo / Guerrero Mendieta, Luz Enith
Lista de figuras
Lista de tablas
Prefacio
Primera parte
Análisis de algoritmos Introducción
1 ¿Un computador más rápido o un algoritmo más eficiente?
2 Elementos que influyen en el desempeño de un algoritmo
2.1 Tiempo de ejecución
2.2 Número de lineas del código
2.3 Estructura del algoritmo
2.4 Implementación
3 Complejidad
3.1 Definición
3.2 Funciones básicas
3.3 Reglas de simplificación
3.4 Reglas prácticas para el cálculo de la complejidad
3.5 Métodos de conteo
4.Casos prácticos
4.1 El problema de la búsqueda
4.2 El problema del ordenamiento
4.3 Algoritmos de ordenamiento lineales
Segunda parte
Diseño de algoritmos
Introducción
5 Algoritmos voraces
5·1 Definición
5·2 Forma general
5·3 Problemas clásicos
5.4 Problemas propuestos
6.Dividir y conquistar
6.1 Definición
6.2 Forma general
6·3 Problemas clásicos
6-4 Problemas propuestos
7 Programación dinámica
7.1 Definición
7·2 Forma general
7·3 Problemas clásicos
7.4 Problemas propuestos
8 Algoritmos exhaustivos (retroceso, ensayo y error)
8.1 Definición
8.2 Forma general
8·3 Problemas clásicos
8.4 Problemas propuestos
9.Algoritmos aproximados
9.1 Definición
9·2 Forma general
9·3 Problemas clásicos
9·4 Problemas propuestos
Referencias
Índice analítico
Esta obra es una herramienta de formación imprescindible para todos aquellos interesados en aprender a programar. Parte del análisis como una herramienta práctica para predecir y determinar la mejor manera de escribir algoritmos. Además, explica diferentes técnicas para su diseño con ejemplos en los que se plantean y solucionan diversos tipos de problemas mediante ejercicios escritos en seudocódigo e implementaciones en lenguaje C/C ++.