complejidad El tiempo es la medida de cuánto tiempo un algoritmo necesario para completar un recorrido por el proceso. Para medir la complejidad del tiempo con C + + , tiene una variedad de opciones. En este tutorial se ejecuta a través del proceso de búsqueda de la complejidad del tiempo. Instrucciones
1
Identifique su algoritmo. Dependiendo de su algoritmo, usted tendrá que usar una medida diferente de la complejidad del tiempo . Hay una variedad de diferentes tipos de algoritmo incluyendo logarítmica , la fuerza bruta , la iteración y de índice de matriz . Una vez que haya identificado su algoritmo puede comenzar a analizarlo.
2
Encuentre la complejidad del tiempo . Esta es la parte difícil. Para encontrar la complejidad de tiempo del algoritmo concreto , alimentar cantidades cada vez mayores de datos y ver cómo se ralentiza. También puede analizar los pasos del algoritmo y ver cómo encaja en la complejidad de los problemas de tiempo pasado - analizados. Echa un vistazo a la información sobre el Big notación O y la información sobre los algoritmos para obtener más ayuda ( ver Recursos) .
3
Analizar la complejidad de tiempo para encontrar el mejor de los casos para su proceso. Si el algoritmo se puede lograr con un método más rápido , es posible que desee trabajar en la aplicación del método más rápido . En general , los algoritmos van de rápido al más lento en este orden : constante de tiempo , el tiempo logarítmica , el tiempo lineal , tiempo polinómico , tiempo exponencial y la hora factorial . El más rápido es por lo general una mirada directa y el tiempo es el mismo sin importar el tamaño de la entrada. El más lento es generalmente un método de fuerza bruta de algún tipo que corre a través de cada posibilidad y disminuye considerablemente a medida que la entrada aumenta de tamaño. Puede que no sea la pena de optimizar el algoritmo de complejidad de tiempo más rápido si el aumento sería más bien pequeño o si se trata de pequeñas cantidades de datos. Sin embargo, si usted está tratando con grandes cantidades de datos , es posible que desee considerar la posibilidad de tomar el tiempo para encontrar la manera de crear el código más optimizado .