El análisis de algoritmos se asemeja a otras disciplinas matemáticas en el sentido de que se centra en las propiedades subyacentes del algoritmo y no en los detalles de una implementación en particular.
Por lo general, el pseudocódigo se utiliza para el análisis, ya que es la representación más simple y más general. Sin embargo, en última instancia, la mayoría de los algoritmos generalmente se implementan en plataformas de hardware / software particulares y su eficiencia algorítmica se pone a prueba con el código real.
Para la solución de un problema “único”, la eficiencia de un algoritmo particular puede no tener consecuencias significativas (a menos que n sea extremadamente grande), pero para los algoritmos diseñados para un uso científico rápido, comercial o de larga vida puede ser crítico. Escalar de n pequeña a n grande con frecuencia expone algoritmos ineficientes que de otro modo serían benignos.
- ¿Qué te dirías a ti mismo cuando recién comenzaste a programar, aprender algoritmos?
- ¿Por qué es difícil estimar el tiempo de ejecución exacto de un algoritmo?
- ¿Ha habido algún trabajo teórico que delinee qué clase de algoritmos pueden y no pueden mapearse para mapear / reducir?
- Cómo implementar la idea de algoritmos en MATLAB
- ¿Cómo aprenden los algoritmos de aprendizaje de refuerzo del juego de ajedrez a jugar bien, dado que cada movimiento no está etiquetado como bueno o malo, a diferencia del aprendizaje supervisado donde cada dato está etiquetado como bueno o malo?
Las pruebas empíricas son útiles porque pueden descubrir interacciones inesperadas que afectan el rendimiento. Los puntos de referencia se pueden usar para comparar posibles mejoras antes / después de un algoritmo después de la optimización del programa.