Tecnología

Inicio

Explicación de la notación O grande

problemas informáticos a menudo implican más de una solución, y cada solución se alcanza siguiendo un conjunto de reglas, también conocido como un algoritmo. notación Big O proporciona un método para describir la eficiencia de un algoritmo - en otras palabras, el tiempo que toma para que un algoritmo para ejecutar como una función del tamaño de la entrada para que el algoritmo.

Fondo

Big O notación - también conocido como símbolo de Landau, en honor del matemático judío alemán, Edmund Landau - describe la tasa de crecimiento de una función, también conocida como la "orden", de ahí la letra mayúscula "O" O grande es la notación destinado a medir el rendimiento de un algoritmo en sí, en lugar de hardware en el que se ejecuta el algoritmo. Una pieza de hardware puede ser más rápido o más lento que otra por un factor constante, por lo que todos los factores constantes se eliminan de la notación O grande.

Constante de tiempo de reproducción

Un algoritmo que toma siempre más o menos el mismo tiempo para correr, sin importar el tamaño de la entrada, se dice que tiene el tiempo de funcionamiento "constante". En la notación O grande, este tipo de algoritmo es conocido como un algoritmo de "orden de 1" y se denota por O (1). Ejemplos de O (1) algoritmos incluir empujando o estallidos de datos hacia y desde una pila de programación, y la recuperación de un único elemento de datos de una matriz cuando se conoce su posición. Estos algoritmos sólo realizan un cierto número de pasos, no importa cuán grande se convierte en la entrada.

Lineal Duración

Un algoritmo cuyo funcionamiento aumenta el tiempo proporcionalmente, o de forma lineal, con el tamaño de su entrada se dice que tiene "lineal" tiempo de funcionamiento. En Big O notación, este tipo de algoritmo se conoce como una "orden n" algoritmo y se denota por O (n), lo que indica que el tiempo que toma para que el algoritmo se ejecute aumenta linealmente como el número de elementos de datos, "n, "aumenta. Un ejemplo simple de un O (n) algoritmo es un algoritmo que calcula el total de una lista de números; se requiere una adición para cada elemento en la lista, por lo que el número de adiciones es el mismo que el número de elementos.

Duración cuadrática

Un algoritmo cuya ejecución el tiempo aumenta en un factor de n ^ 2 cuando se dice que el tamaño de sus aumentos de entrada por un factor de "n" para tener tiempo de funcionamiento "cuadrática". En Big O notación, este tipo de algoritmo se conoce como una orden n ^ 2 algoritmo, o simplemente un algoritmo cuadrático, y se denota por O (n ^ 2). Ejemplos de O (n ^ 2) algoritmos incluyen algoritmos de ordenación, tales como tipo de inserción y ordenamiento de burbuja, en la que duplicar el tamaño de la entrada cuadruplica el tiempo de ejecución.