Primero … ¿qué es exactamente un “problema”? En este contexto, significa un deseo de cambiar de un estado de algo a otro. Por ejemplo, estás dormido en tu cama, pero necesitas estar en el trabajo más tarde. El “problema” es pasar de este primer estado al siguiente.
Segundo … ¿qué es un algoritmo? Cualquier cosa que alguien (o en realidad cualquier cosa) haga o pueda hacer es un algoritmo.
Por ejemplo, despertarse, lavar sus artículos de tocador, vestirse, etc. es un algoritmo. Hacer tu café / desayuno es un algoritmo. La digestión de que el café / desayuno es un algoritmo. Averiguar a qué hora necesita comenzar a conducir al trabajo es un algoritmo. Conducir al trabajo / tomar el autobús / taxi / tren / lo que sea un algoritmo. Llegar al trabajo e ir a su escritorio / área de trabajo es un algoritmo. Todos ellos combinados también es un algoritmo. De hecho, incluso la minucia de encender el hervidor e inclinarlo sobre la taza para verter el agua hervida en él son algoritmos: todos solo resuelven subproblemas más pequeños.
- ¿Qué temas puedo estudiar después de aprender Java y C (aplicaciones de estructuras de datos, etc.)?
- ¿Se puede resolver un cubo de Rubik sin sus algoritmos?
- Paso mucho tiempo pensando en el diseño, por lo que la implementación es terriblemente lenta. ¿Cómo supero este problema?
- ¿Cuál es el algoritmo detrás de la agregación de noticias de Facebook News alrededor de una palabra clave en particular?
- ¿Cuál es el enfoque algorítmico para el problema spoj SPOJ.com - Problema ROBOTGRI?
Cualquier cosa que se pueda hacer es un algoritmo. El algoritmo es el método realizado para resolver el problema, es decir, ¿cómo se pasa de un estado a otro?
Eso es todo lo que significa un algoritmo: la forma en que se hace algo.
Entonces, en este sentido, se podría decir que TODOS los tipos de problemas se pueden resolver utilizando algoritmos. Siempre que exista algún método que altere los estados de manera que se resuelva el problema, desde el estado existente hasta el estado deseado.