Imagina por un segundo que tienes dos cubos de Rubik sentados frente a ti. Uno de ellos puede usar algoritmos (como cuántas veces o en qué dirección girar una cara), y el otro tiene que encontrar su propio camino.
¿Qué camino será más rápido?
Casi seguro que la primera manera. Ya hay cientos de algoritmos bien establecidos para resolver un cubo de Rubik, y tratar de inventar su propio método para resolverlo llevará mucho más tiempo que utilizar los actuales. Peor que eso, es muy probable que el método que elija sea menos eficiente y más lento que los métodos que ya existen. E incluso peor que eso, el método que invente probablemente solo funcione para su configuración específica del cubo de Rubik, y teniendo en cuenta que hay 43 configuraciones quintilianas diferentes, su método no hará el trabajo si algo cambia.
- ¿Por qué no puedo resolver la subsecuencia creciente más larga simplemente ordenando la secuencia y luego iterando a través de cada elemento asegurándome de que la secuencia siempre esté aumentando?
- ¿Son los problemas NP completos también problemas NP difíciles? ¿Por qué?
- Cómo incrementar mis habilidades en programación dinámica
- Cómo encontrar un trabajo de programación de algoritmos y no solo escribir aplicaciones CRUD
- ¿Cuál es la mejor manera de aprender el comercio algorítmico en Python y probar modelos?
En términos informáticos, los algoritmos le dan al programador el poder de implementar código eficiente, confiable y rápido en un período de tiempo más corto. Sabes que funcionará porque ha sido probado en batalla en aplicaciones reales. Y, lo mejor de todo, no importa cuál sea la configuración del cubo de Rubik (es decir, su idioma, su arquitectura, su estilo de codificación), sabe que siempre funcionará.