¿Qué tipos de problemas se pueden resolver usando algoritmos?

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.

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.

Incluso necesitar una taza de té es un problema. y preparar la taza de té en sí necesita un algoritmo que pueda ser (usando una tetera, hervir agua, luego agregar el agua hervida a una taza limpia, ¡luego agregar azúcar y hojas de té!).

El algoritmo es una forma sistemática de hacer las cosas, y un problema es cualquier cosa que necesite esfuerzo físico o mental para resolver.

Si está abordando problemas informáticos y algoritmos informáticos específicamente, los problemas pueden ser:

  1. Encuentre la ruta más corta entre dos nodos → se puede resolver con el algoritmo Dijkstra.
  2. Encuentra los primeros N números primos → Se puede resolver con Tamiz de Eratóstenes.
  3. La clasificación de N números de manera específica → se puede resolver utilizando la combinación de ordenación.
  4. Encuentre un buen ajuste de bloque para una tarea, entre muchos bloques libres en la administración de memoria para la parte del sistema operativo → algoritmo de primer / mejor ajuste.
  5. convierta X cantidad de dinero al número mínimo de monedas / papeles → algoritmo dp de cambio de monedas.

Aquí se pueden decir muchos otros algoritmos y problemas.

“Un algoritmo” es “una forma de hacer” algo. Cualquier cosa. Cómo cortar el césped es un algoritmo para cortarlo. (No se limita a la programación).

Entonces, como dijo el Usuario sin explicación, ninguna.

El diccionario dice, “un proceso o conjunto de reglas a seguir en los cálculos u otras operaciones de resolución de problemas”. Agrega, “especialmente en una computadora”, pero “especialmente”, no “exclusivamente”.

(2345 + 1568 + 3456) /3.141592653, por ejemplo, 2 × 3 × 4 × 5 = 120, 1 × 5 × 6 × 8 = 240, 3 × 4 × 5 × 6 = 360; y bloqueado 4 + 4 + 3 + 3 = 2 + 3 + 4 + 5, 4 + 4 + 3 + 3 + 2 + 2 = 3 + 4 + 5 + 6, 4 + 4 + 3 + 3 + 2 + 2 + 1 + 1 = 1 + 5 + 6 + 8; problemas de turno 561 × 8 = (234 × 5) + (156 × 8) + (345 × 6)

More Interesting

¿Qué significa hashing?

Cómo hacer para recolectar datos de entrenamiento para un algoritmo de aprendizaje automático

¿Qué patrones iterativos y recursivos se pueden expresar como O (1), O (log2n), O (n) u O (n2) en notación O grande?

¿Son los algoritmos de big data de caja negra una instancia de historia que se repite? ¿Qué está haciendo la comunidad de código abierto para crear algoritmos de big data transparentes y precisos?

¿Por qué en Java, la memoria es liberada por el algoritmo Mark y Sweep y no por ningún otro algoritmo?

¿Para qué sirven las estructuras y algoritmos de datos en el desarrollo de aplicaciones, con ejemplos?

¿Debo compartir un nuevo algoritmo de clasificación que escribí? ¿Existe algún potencial monetario en un algoritmo? De ser así, ¿cómo capitalizo?

¿Qué es un algoritmo para programar un torneo para que termine en el menor tiempo posible, dado un torneo round robin (donde cada jugador juega entre sí) entre n jugadores (n es par) que puede representarse con un gráfico completo?

¿Cuál es tu recurso favorito para aprender sobre programación competitiva?

¿Cómo se puede implementar un algoritmo de ordenación rápida en el cálculo Lambda?

Cómo implementar un verificador de plagio en Java

Encuentre la suma máxima del subconjunto de longitud k de un conjunto dado, de modo que la suma sea estrictamente menor que M

¿Cuál es el uso en tiempo real de C, C ++, estructuras de datos y algoritmos?

¿Cuál es un ejemplo de un bucle infinito?

Cómo implementar el mapa usando el árbol de búsqueda binario en Java