¿Cómo medir la Complejidad de Algoritmos

" Complejidad " en términos de algoritmos se refiere a cómo el involvedness de la estructura del algoritmo afecta a la velocidad de funcionamiento del algoritmo después de la entrada de datos. Para evaluar la complejidad de los algoritmos , los matemáticos y científicos informáticos utilizan Grandes Oh notación , que es una técnica matemática que permite calcular cuantitativamente la velocidad de funcionamiento ( complejidad ) del algoritmo. Instrucciones Matemáticas 1

Escriba el algoritmo en su forma funcional para tiempo de funcionamiento . Cada algoritmo es diferente en este aspecto , y usted nunca tendrá su verdadera forma --- sólo una estimación. Puede obtener la estimación de mirar el código del propio algoritmo y contando el número de unidades de tiempo que tarda el algoritmo para terminar el cálculo de una entrada de tamaño "n ". Escribe esta función como "f (n). " Por ejemplo, un " bucle " que se inicia en 1 y termina en n tendrán la función f (n ) = n como su estimación de tiempo de ejecución .
2

estimar una cota superior de f (n ) . Un límite superior es un número que f ( n) no puede pasar después de un valor suficientemente grande de n. Por ejemplo, si f (n ) = n ^ 3 + 10n + 3 , una opción lógica para una estimación del límite superior sería c * n ^ 3 , donde c es una constante mayor que 1 . Esta es una opción razonable ya que c * n ^ 3 es mayor que el término más grande de f (n).
3

Escribe el límite superior en la notación matemática. Escribe f ( n) 4

Demostrar que esta desigualdad es válido para valores grandes de n . Por lo general , esto implica la resolución de la desigualdad para C y comprobando si el resultado es válido . En el ejemplo anterior , utilizando el álgebra produce la desigualdad c > 1 + 10 * n ^ -2 + 3 * n ^ -3 . Para n grande , los valores con exponentes negativos van a cero , dejando c > 1 . Esta desigualdad es verdadera , porque se dijo que era cierto cuando fue elegido c .

Si la desigualdad se mantiene, la complejidad del algoritmo es O (estimado cota superior sin la constante). Para el ejemplo , ya que la desigualdad llevó a cabo , la complejidad es O (n ^ 3 ) . Si la desigualdad no se cumple , se debe estimar un nuevo límite superior y ejecutar el proceso de nuevo.