Algoritmia


Este libro trata sobre la creación de algoritmos y el análisis de su eficiencia. Tras introducir las bases matemáticas de la complejidad computacional, el libro cubre algunos de los métodos algorítmicos más importantes:

  • La técnica divide y vencerás
  • El método de la vuelta atrás y la variante conocida como ramificación y poda
  • La programación dinámica como optimización en tiempo a costa de un gasto en memoria
  • Los algoritmos voraces
  • Técnicas de escalada
  • Algoritmos basados en probabilidades

El objetivo del libro es mostrar cómo aplicar de forma metódica diferentes técnicas en algoritmos de creación propia de forma que estos sean más eficientes. Además de tratar los diferentes métodos algorítmicos de forma general, también se estudiarán en profundidad algunos algoritmos famosos que apliquen dichos métodos.

Asimismo, se plantean una serie de ejercicios clásicos y se aportan soluciones en pseudocódigo de los mismos con el fin de poder autoevaluar los conocimientos adquiridos.

Este libro es un tutorial de técnicas algorítmicas, no una obra de referencia, para lo cual se recomienda consultar las obras que se indican en el apartado de bibliografía.

IntroducciónCrear una página que contenga el texto completo

Índice

  1. Introducción Grado de desarrollo: 25% (a fecha de 25 de mayo, 2006)
  2. Complejidad computacional Grado de desarrollo: 00% (a fecha de 25 de mayo, 2006)
  3. Divide y vencerás Grado de desarrollo: 25% (a fecha de 19:06 30 may 2006 (UTC))
  4. Algoritmos voraces Grado de desarrollo: 25% (a fecha de 19:22 13 jun 2006 (UTC))
    1. Algoritmo para la ubicación óptima
    2. Algoritmia/Algoritmo de Dijkstra
  5. Programación dinámica Grado de desarrollo: 25% (a fecha de 11:47 18 jun 2006 (UTC))
  6. Vuelta atrás Grado de desarrollo: 25% (a fecha de 17:28 3 jul 2006 (UTC))
  7. Ramificación y poda Grado de desarrollo: 00% (a fecha de 25 de mayo, 2006)
  8. Algoritmos de escalada Grado de desarrollo: 25% (a fecha de 20:08 10 jul 2006 (UTC))
  9. Algoritmos probabilísticos Grado de desarrollo: 25% (a fecha de 19:59 18 jun 2006 (UTC))
  10. Apéndice A: pseudocódigo Grado de desarrollo: 75% (a fecha de 25 de mayo, 2006)
  11. Apéndice B: implementación en C Grado de desarrollo: 00% (a fecha de 19:09 30 may 2006 (UTC))
  12. Apéndice C: implementación en Java del algoritmo para transformar un número en base 10 a otras bases Grado de desarrollo: 75% (a fecha de 3 de junio, 2007)

Enlaces

Página de edición

Este libro se encuentra en construcción, para ello dispone de una página de edición, donde se coordina su construcción.