Big O se refiere a la peor orden de tiempo de ejecución. Se usa para mostrar qué tan bien se escala un algoritmo en función del tamaño del conjunto de datos (n-> número de elementos).
Como solo nos preocupa el orden, los multiplicadores constantes se ignoran y los términos que aumentan menos rápidamente que el término dominante también se eliminan. Algunos ejemplos:
Una sola operación o conjunto de operaciones es O (1), ya que lleva un tiempo constante (no varía en función del tamaño del conjunto de datos).
Un bucle es O (n). Cada elemento en el conjunto de datos se coloca en bucle.
Un bucle anidado es O (n^2). Un bucle anidado anidado es O (n^3) y hacia adelante.
Cosas como la búsqueda de árbol binario son log (n), que es más difícil de mostrar, pero en cada nivel del árbol, el número posible de soluciones se reduce a la mitad, por lo que el número de niveles es log (n) (proporcionado el árbol está equilibrado).
Algo así como encontrar la suma de un conjunto de números que está más cerca de un valor dado es O (n!), Ya que la suma de cada subconjunto debe calcularse. Esto es muy malo.
Posible duplicado http://stackoverflow.com/questions/487258/plain-english-explanation-of-big-o –