Depende de cómo se defina la palabra “bueno”. Depende del modelo de cálculo que utilice y sus objetivos.
Tome el ejemplo simple de reducir la complejidad del tiempo de un algoritmo (suponiendo que el modelo RAM). La complejidad de su algoritmo es menor que la de todos los algoritmos existentes no necesariamente significa que sea práctico de implementar porque la notación Big-Oh traga constantes y puede ser engañosa, como O (1) no necesariamente significa que sea súper rápido .
Si desea inventar un algoritmo para un problema, primero debe idearlo, demostrar la corrección, los límites de tiempo de ejecución en el tiempo, el espacio, los accesos al disco, los aciertos y errores de la memoria caché, etc., según el modelo de cómputo subyacente . En el caso de los Algoritmos de Computación Cuántica, es posible que tenga que derivar los límites en el número de puertas necesarias y lidiar con problemas de ruido, etc. ¡Es matemática, matemática y mucha matemática!
- ¿Cómo se puede encontrar la complejidad del tiempo para el recorrido DFS?
- ¿Cómo encontrar una ruta con la suma máxima en un BST (no BT)?
- ¿Por qué los marcos para componer música aleatoria algorítmica como SoundHelix no son más populares?
- Cómo probar la corrección del problema de cambio de moneda usando DP y poda
- Creamos un algoritmo de software único para medir / cuantificar las diferencias de las imágenes a escala nano-planetaria. ¿Cómo monetizamos esto?