Esa es una muy buena pregunta. Los dos n! y 2 ^ n las funciones son bastante grandes en términos de sus órdenes de crecimiento y eso es lo que las hace diferentes entre sí. ¿No entiendo lo que digo? Eche un vistazo a la tabla a continuación que enumera los órdenes de crecimiento de las diferentes funciones.
Ahora, si ve que ambas funciones crecen tan rápido que sus valores se vuelven astronómicamente grandes incluso para valores bastante pequeños de n.
Tomaría alrededor de 4 × 10 ^ 10 años para que una computadora realice un billón (10 ^ 12) de operaciones por segundo para ejecutar 2 ^ 100 operaciones. ¡Aunque esto es incomparablemente más rápido de lo que tendría que ejecutar 100! operaciones, que es más de 4.5 mil millones (4.5 × 10 ^ 9) años, que es la edad estimada del planeta Tierra.
- ¿Qué es la inserción táctica?
- ¿Cuál es la diferencia entre un algoritmo de autoaprendizaje y un algoritmo de IA?
- ¿Cuál es el algoritmo más eficiente para descubrir el punto de silla de una matriz?
- ¿Qué canal / tutorial en YouTube es mejor para aprender algoritmos o estructuras de datos?
- ¿Qué es un algoritmo de descubrimiento de ruta de ataque cibernético?
Por lo tanto, existe una tremenda diferencia entre los órdenes de crecimiento de las funciones 2 ^ ny n !. En general, ambas se denominan “funciones de crecimiento exponencial” a pesar del hecho de que, estrictamente hablando, solo las primeras deben denominarse como tales.
Los algoritmos que requieren un número exponencial de operaciones son prácticos para resolver solo problemas de tamaños muy pequeños.
Espero haber aclarado tu pregunta adecuadamente.