05 26 2020 Diseño de algoritmos - MatRJ08/Portafolio_DatosII GitHub Wiki

Bitácora

Diseño de ALGORITMOS

  • Técnicas
    • Divide y vencerás
    • Las demás quedan para la siguiente clase

Apuntes

Proceso de diseñar un algoritmos

  • Formular el problema con suficiente precisión matemática. Se empieza a pensar que algoritmos resolverían al problema
  • Diseño del algoritmo solución
  • Evaluó mi solución mediante el análisis de algoritmos

Técnicas

Divide y vencerás

Dividir: Primer paso descomponer el programa grande en pequeñas partes

Conquistar: resolver los problemas pequeños en cada parte recursmivamente

Combinar

Características

  • Sub-problemas independiente
  • Recursivos
  • Son bastante eficiente
  • Se pueden utilizar de forma paralela

Ventajas

  • Elegantes
  • Simples
  • Fácil de dar mantenimiento

Desventajas

  • Gran tiempo en ejecución

Ejemplo

  • Busqueda Binaria
  • Merge sort
  • Quicksort
  • Strassen
  • Karatsuba

Backtracking

Programacion Dinamica

Algoritmos heuristicos

  • Genéticos
  • Algoritmos voraces

Algoritmos Probabilisticos

Buscar y entender algoritmos divide y vencerás como el Strassen o el Karatsuba