La pregunta sugiere que dos algoritmos gastan , y , microsegundos respectivamente, para un tamaño de problema de . La pregunta es, ¿a qué tamaño de entrada Algorithm ser mejor que . ¿Cómo encuentro esto?
Encontré una pregunta similar con una solución que no entiendo completamente. Los tiempos de ejecución de los algoritmos de una pregunta similar son y
Se resuelve de la siguiente manera:
Por lo tanto, Algoritmo es mejor cuando es mayor que
Entiendo el concepto de tener que usar la desigualdad para probar que , sin embargo, me cuesta entender qué se está haciendo en la solución del ejemplo y cómo aplicarlo a la pregunta...
Suponga que los dos algoritmos resuelven el mismo problema. En ese caso se puede decir que el algoritmo A es mejor que el B si < , porque el primero corre en un tiempo más corto.
¿Para qué valores (positivos) de n hace eso < ¿Se mantiene la desigualdad? Sustituyendo las expresiones de y usted obtiene
.
Puede aprender cómo se puede resolver una desigualdad de este tipo con lápiz y papel, por ejemplo, aquí , o resolverla gráfica y algebraicamente usando un motor para matemáticas simbólicas como Wolfram Alpha. Si haces eso, verás que es más pequeña que solo si n es menor que algún valor de umbral. Más allá de ese umbral, el algoritmo "se pone mejor que " porque una función de raíz cuadrada (como ) aumenta más lentamente que uno cuadrático (como ) a medida que n aumenta.
Kumar
Varehen
Kumar
kelalaka