Este documento describe algoritmos voraces y sus características. Explica que los algoritmos voraces toman decisiones ópticas en cada paso sin considerar el futuro. Estos algoritmos dan soluciones ópticas cuando el problema tiene subestructura óptima, pero no necesariamente en otros casos. También discute posibles problemas como la sobreposición de subproblemas y formas de abordarlos como establecer una profundidad global o usar programación dinámica.