Está en la página 1de 12

ESTRUCTURA DE DATOS

Y ALGORITMICA
Notación O Grande
ó
Notación Asintótica..
DEFINICIÓN:
Cuando hablamos de rendimiento y optimización es importante
definir una forma en que podamos definir qué tan bueno es un
algoritmo para ciertos casos y que tan malo puede ser para ciertos
otros. Eso es precisamente el trabajo de la Notación O Mayúscula.
Notación O
Tiempo de ejecución

grande

Tamaño de entrada de datos


Notación
O(1): constante. La operación no
depende del tamaño de los datos. Es el
caso ideal, pero a la vez probablemente
el menos frecuente. No se ve en la
gráfica de más abajo porque la
logarítmica le pasa justo por encima y la
tapa.

O(n): lineal. El tiempo de ejecución es


directamente proporcional al tamaño de
los datos. Crece en una línea recta.
¿CÓMO ESCALA DE TIEMPO CON
RESPECTO A ALGUNAS VARIABLES DE2:
OPCIÓN
OPCION 1: ENTRADA?
O(s2)
O(a)
S=lado del
A=área de la parcela cuadrado que la
parcela
representa.

O(a) y O(s2) son equivalentes pues a = s2


O(log n): logarítmica. por regla general
se asocia con algoritmos que "trocean"
el problema para abordarlo, como por
ejemplo una búsqueda binaria.

O(nlogn): en este caso se trata de


funciones similares a las anteriores,
pero que rompen el problema en
varios trozos por cada elemento,
volviendo a recomponer información
tras la ejecución de cada "trozo".
 
O(): cuadrática. Es típico de algoritmos
que necesitan realizar una iteración por
todos los elementos en cada uno de los
elementos a procesar.

O(): exponencial. Se trata de funciones


que duplican su complejidad con cada
elemento añadido al procesamiento. Un
ejemplo sería, por ejemplo, el cálculo
recursivo de la serie de Fibonacci.
Regla de la suma :

T1 (n) = O(f(n))T1(n) + T2(n)

Regla de la Multiplicación:

T1(n) = O(f(n)) T1(n) T2(n)

T2(n) = O(g(n)) O(f(n)g(n))

También podría gustarte