0% encontró este documento útil (0 votos)
138 vistas33 páginas

Tema 04

Este documento trata sobre la notación asintótica para el análisis de algoritmos. Explica conceptos como dominio asintótico, cotas asintóticas superiores e inferiores, y órdenes de complejidad. Incluye ejemplos para ilustrar cómo una función puede dominar asintóticamente a otra, y cómo la notación asintótica permite modelar el comportamiento de la complejidad de un algoritmo cuando el tamaño de entrada es grande.

Cargado por

Ángel García
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
138 vistas33 páginas

Tema 04

Este documento trata sobre la notación asintótica para el análisis de algoritmos. Explica conceptos como dominio asintótico, cotas asintóticas superiores e inferiores, y órdenes de complejidad. Incluye ejemplos para ilustrar cómo una función puede dominar asintóticamente a otra, y cómo la notación asintótica permite modelar el comportamiento de la complejidad de un algoritmo cuando el tamaño de entrada es grande.

Cargado por

Ángel García
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Análisis de algoritmos

Tema 04: Notación asintótica

M. en C. Edgardo Adrián Franco Martínez 1


[Link]
edfrancom@[Link]
@edfrancom edgardoadrianfrancom
Contenido

Análisis de algoritmos
04 Notación asintótica
Prof. Edgardo Adrián Franco Martínez
• Introducción
• Asíntota
• Dominio asintótico
• Ejemplo 1
• Ejemplo 2
• Dominio asintótico a la función complejidad
• Notación de orden (Cotas asintóticas)
• Cota Superior: Notación 𝑂 mayúscula
• Cota Superior no ajustada: Notación 𝑜 minúscula
• Diferencia entre 𝑂 y 𝑜
• Cota Inferior: Notación Ω
• Cota ajustada asintótica: Notación Θ
• Observaciones sobre las cotas asintóticas 2

• Ordenes de complejidad (Cota superior)


Introducción
• El costo para obtener una solución de un problema concreto

Análisis de algoritmos
04 Notación asintótica
Prof. Edgardo Adrián Franco Martínez
aumenta con el tamaño 𝐧 del problema.

• Para valores suficientemente pequeños de 𝑛, el coste de


ejecución de cualquier algoritmo es pequeño, incluyendo los
algoritmos ineficientes; i.e. la elección del algoritmo no es un
problema crítico para problemas de pequeño tamaño.

• El análisis de algoritmos se realiza para valores grandes de


𝒏. Para lo cual se considera el comportamiento de sus
funciones de complejidad para valores grandes de 𝑛, es decir
se estudia el comportamiento asintótico de 𝑓(𝑛), lo cuál
permite conocer el comportamiento en el límite del coste 3
cuando 𝑛 crece.
Asíntota
• Se le llama asíntota a una línea recta que se aproxima

Análisis de algoritmos
04 Notación asintótica
Prof. Edgardo Adrián Franco Martínez
continuamente a otra función o curva; es decir que la
distancia entre las dos tiende a cero, a medida que se
extienden indefinidamente.

• También se puede decir que es la curva la que se aproxima


continuamente a la recta; o que ambas presentan un
comportamiento asintótico.

4
Dominio asintótico
• Sean 𝑓 y 𝑔 funciones de ℕ a ℝ. Se dice que 𝑓 domina

Análisis de algoritmos
04 Notación asintótica
Prof. Edgardo Adrián Franco Martínez
asintóticamente a 𝑔 o que 𝑔 es dominada asintóticamente
por 𝑓; si ∃𝑘 ≥ 0 𝑦 𝑚 ≥ 0 tales que:

𝑔(𝑛) ≤ 𝑚 𝑓 𝑛 , ∀𝑛 ≥ 𝑘

• En otros términos, podemos decir que si una función domina a


otra, su velocidad de crecimiento es mayor o igual.

• Puesto que las funciones complejidad son funciones con dominio


ℕ(𝑛ú𝑚𝑒𝑟𝑜𝑠 𝑛𝑎𝑡𝑢𝑟𝑎𝑙𝑒𝑠), y contradominio ℝ 𝑛ú𝑚𝑒𝑟𝑜𝑠 𝑟𝑒𝑎𝑙𝑒𝑠;
los conceptos y las propiedades de dominio asintótico
proporcionan una manera conveniente de expresarlas y
manipularlas. 5
Análisis de algoritmos
04 Notación asintótica
Prof. Edgardo Adrián Franco Martínez
• Gráficas de las funciones 𝑚 𝑓(𝑛) y 𝑔(𝑛) ,donde 𝑘 es el valor a
partir del cual 𝑚 𝑓(𝑛) es mayor que 𝑔(𝑛) y esta relación de
magnitud se conserva conforme 𝑛 crece. 6
Dominio asintótico (Ejemplo 1)
• Ejemplo 1: Sean 𝑓 𝑛 = 𝑛 y 𝑔 𝑛 = 𝑛3 funciones de ℕ a ℝ.

Análisis de algoritmos
04 Notación asintótica
Prof. Edgardo Adrián Franco Martínez
i. Demostrar que 𝑔 domina asintóticamente a 𝑓
∃𝑚 ≥ 0, 𝑘 ≥ 0 𝑡𝑎𝑙𝑒𝑠 𝑞𝑢𝑒 𝑓(𝑛) ≤ 𝑚 𝑔 𝑛 , ∀𝑛 ≥ 𝑘

ii. Demostrar que 𝑓 no domina asintóticamente a 𝑔


¬(∃𝑚 ≥ 0, 𝑘 ≥ 0 𝑡𝑎𝑙𝑒𝑠 𝑞𝑢𝑒 𝑔 𝑛 ≤ 𝑚 𝑓 𝑛 , ∀𝑛 ≥ 𝑘)

7
• Ejemplo 1: Sean 𝑓 𝑛 = 𝑛 y 𝑔 𝑛 = 𝑛3 funciones de ℕ a ℝ.
i. Demostrar que 𝑔 domina asintóticamente a 𝑓

Análisis de algoritmos
04 Notación asintótica
Prof. Edgardo Adrián Franco Martínez
∃𝑚 ≥ 0, 𝑘 ≥ 0 𝑡𝑎𝑙𝑒𝑠 𝑞𝑢𝑒 𝑓(𝑛) ≤ 𝑚 𝑔 𝑛 , ∀𝑛 ≥ 𝑘
• Substituyendo 𝑓(𝑛) y 𝑔(𝑛)

𝑛 ≤ m 𝑛3 , ∀𝑛 ≥ 𝑘

• Si se toman 𝑚 = 1 y 𝑘 = 1, las desigualdades anteriores se cumplen,


por lo tanto, 𝑚 y 𝑘 existen, y en consecuencia 𝑔 domina
asintóticamente a 𝑓.

8
• Ejemplo 1: Sean 𝑓 𝑛 = 𝑛 y 𝑔 𝑛 = 𝑛3 funciones de ℕ a ℝ.
ii. Demostrar que 𝑓 no domina asintóticamente a 𝑔

Análisis de algoritmos
04 Notación asintótica
Prof. Edgardo Adrián Franco Martínez
¬(∃𝑚 ≥ 0, 𝑘 ≥ 0 𝑡𝑎𝑙𝑒𝑠 𝑞𝑢𝑒 𝑔 𝑛 ≤ 𝑚 𝑓 𝑛 , ∀𝑛 ≥ 𝑘)
• Aplicando la negación se tiene

∀𝑚 ≥ 0, 𝑘 ≥ 0, ∃𝑛 ≥ 𝑘 𝑡𝑎𝑙 𝑞𝑢𝑒 𝑔(𝑛) > 𝑚 𝑓(𝑛)

• Sustituyendo 𝑔 y 𝑓 en cada lado de la desigualdad


𝑛3 > 𝑚 𝑛

• Simplificando
𝑛2 > 𝑚
𝑛2 > 𝑚
𝒏> 𝒎 y 𝐧≥𝒌

Si se toma 𝒏 > 𝐦𝐚𝐱 𝒎, 𝒌 ambas desigualdades se cumplen para


toda 𝑚 ≥ 0 𝑦 𝑘 ≥ 0, ∴ 𝑓 𝑛𝑜 𝑑𝑜𝑚𝑖𝑛𝑎 𝑎𝑠𝑖𝑡ó𝑡𝑖𝑐𝑎𝑚𝑒𝑛𝑡𝑒 𝑎 𝑔 9
• Ejemplo 1: Sean 𝑓 𝑛 = 𝑛 y 𝑔 𝑛 = 𝑛3 funciones de ℕ a ℝ.

Análisis de algoritmos
10

04 Notación asintótica
Prof. Edgardo Adrián Franco Martínez
Dominio asintótico (Ejemplo 2)
• Ejemplo 2: Sea 𝑔(𝑛) una función de ℕ a ℝ y 𝑓(𝑛) =

Análisis de algoritmos
04 Notación asintótica
Prof. Edgardo Adrián Franco Martínez
𝑐𝑔(𝑛) 𝑐𝑜𝑛 𝑐 > 0 𝑦 𝑐 ∈ ℝ.

i. Demostrar que 𝑓 d. a. 𝑔
∃𝑚 ≥ 0, 𝑘 ≥ 0 𝑡𝑎𝑙𝑒𝑠 𝑞𝑢𝑒 𝑔(𝑛) ≤ 𝑚 𝑐𝑔 𝑛 , ∀𝑛 ≥ 𝑘

ii. Demostrar que 𝑔 d. a. 𝑓


∃𝑚 ≥ 0, 𝑘 ≥ 0 𝑡𝑎𝑙𝑒𝑠 𝑞𝑢𝑒 𝑐𝑔 𝑛 ≤ 𝑚 𝑔 𝑛 , ∀𝑛 ≥ 𝑘

11
• Ejemplo 2: Sea 𝑔 una función de ℕ a ℝ y 𝑓(𝑛) =
𝑐𝑔(𝑛) 𝑐𝑜𝑛 𝑐 > 0 𝑦 𝑐 ∈ ℝ.

Análisis de algoritmos
04 Notación asintótica
Prof. Edgardo Adrián Franco Martínez
i. Demostrar que 𝑓 d. a. 𝑔
∃𝑚 ≥ 0, 𝑘 ≥ 0 𝑡𝑎𝑙𝑒𝑠 𝑞𝑢𝑒 𝑔(𝑛) ≤ 𝑚 𝑐𝑔 𝑛 , ∀𝑛 ≥ 𝑘

• Pero |𝑎𝑏| = |𝑎||𝑏| por lo tanto

𝑔(𝑛) ≤ |𝑚| 𝑐||𝑔 𝑛 , ∀𝑛 ≥ 𝑘

• Como 𝑐 > 0; entonces


𝑔(𝑛) ≤ 𝑚𝑐|𝑔(𝑛)| , ∀𝑛 ≥ 𝑘

1
• Tomando 𝑚 = y 𝑘 = 0 se tiene
𝑐
𝑔(𝑛) ≤ 𝑔 𝑛 , ∀𝑛 ≥ 0 ∴ 𝑓 𝑑. 𝑎. 𝑔
12
• Ejemplo 2: Sea 𝑔 una función de ℕ a ℝ y 𝑓(𝑛) =
𝑐𝑔(𝑛) 𝑐𝑜𝑛 𝑐 > 0 𝑦 𝑐 ∈ ℝ.

Análisis de algoritmos
04 Notación asintótica
Prof. Edgardo Adrián Franco Martínez
i. Demostrar que 𝑔 d. a. 𝑓
∃𝑚 ≥ 0, 𝑘 ≥ 0 𝑡𝑎𝑙𝑒𝑠 𝑞𝑢𝑒 𝑐𝑔 𝑛 ≤ 𝑚 𝑔 𝑛 , ∀𝑛 ≥ 𝑘

• Esto es

𝑐 𝑔(𝑛) ≤ 𝑚|𝑔(𝑛)| , ∀𝑛 ≥ 𝑘

• Tomando 𝑚 = 𝑐 𝑦 𝑘 = 0 se tiene

𝑐 𝑔(𝑛) ≤ 𝑐|𝑔(𝑛)| , ∀𝑛 ≥ 0 ∴ 𝑔 𝑑. 𝑎. 𝑓

13
Dominio asintótico a la función complejidad
• Cuando se hace el análisis teórico para obtener la función

Análisis de algoritmos
04 Notación asintótica
Prof. Edgardo Adrián Franco Martínez
complejidad 𝑓(𝑛) que caracterice a un algoritmo, se está
obteniendo un modelo de comportamiento para la demanda
de recursos en función del parámetro 𝑛; de tal forma que si
𝑡(𝑛) es la cantidad real del recurso que se consume para una
implantación específica del algoritmo se tiene que:

𝑡 𝑛 𝛼𝑓 𝑛
𝑡(𝑛) = 𝑐𝑓(𝑛)
|𝑡 𝑛 | ≤ 𝑐|𝑓 𝑛 |

• i.e. 𝒇(𝒏) domina asintóticamente a cualquier 𝒕(𝒏); dicho de otra


manera la demanda de recursos se va a regir por el modelo de
crecimiento que observe 𝑓(𝑛). 14
Notación asintótica
• El interés principal del análisis de algoritmos radica en saber

Análisis de algoritmos
04 Notación asintótica
Prof. Edgardo Adrián Franco Martínez
cómo crece la demanda de recursos, cuando el tamaño del
problema crece. Esto es la eficiencia asintótica del algoritmo.
Se denomina “asintótica” porque analiza el comportamiento
de las funciones en el límite, es decir, su tasa de crecimiento.

• La notación asintótica captura el comportamiento de la


función para valores grandes de 𝒏 . Se consideran las
funciones asintóticamente no negativas.

• Las notaciones no son dependientes de los tres casos


anteriormente vistos, es por eso que una notación que
determine el peor caso puede estar presente en una o en 15
todas las situaciones.
Notación de orden
• Cuando describimos cómo es que el número de operaciones

Análisis de algoritmos
04 Notación asintótica
Prof. Edgardo Adrián Franco Martínez
𝑓(𝑛) depende del tamaño 𝑛 ; lo que nos interesa es
encontrar el patrón de crecimiento o cota para la función
complejidad y así caracterizar al algoritmo; una vez hecha
esta caracterización podremos agrupar las funciones de
acuerdo al número de operaciones que realizan.

16
Cota Superior: Notación 𝑂 mayúscula
• La notación O (Omicron mayúscula) se utiliza para comparar

Análisis de algoritmos
04 Notación asintótica
Prof. Edgardo Adrián Franco Martínez
funciones. Dada una función 𝑓, se desea estudiar funciones 𝑔 que
a lo sumo crezcan tan deprisa como 𝑓.

• Definición: Sean 𝑓 y 𝑔 funciones de ℕ a ℝ. Si existen constantes 𝑐


y 𝑥0 tales que:
∀ x > 𝑥0 , | f (x) | ≤ 𝑐 | g (x) |

• i.e. que para 𝑥 > 𝑥0 , 𝑓 es menor o igual a un múltiplo 𝑐 de 𝑔,


decimos que:
𝑓 𝑥 =𝑂 𝑔 𝑥

• La definición formal es:


𝒇 𝒙 = 𝑶 𝒈 𝒙 ⇔ ∃𝑐 > 0, 𝑥0 > 0 | ∀ x > 𝑥0 , | f (𝑥) | ≤ 𝑐| g (𝑥) | 17
• 𝒇 𝒙 = 𝑶 𝒈 𝒙
⇔ ∃𝑐 > 0, 𝑥0 > 0 | ∀ x > 𝑥0 , | f (𝑥) | ≤ 𝑐| g (𝑥) |

Análisis de algoritmos
18

04 Notación asintótica
Prof. Edgardo Adrián Franco Martínez
• Ejemplo 3: Muestre que 𝑓𝑡 n = 3𝑛3 + 5𝑛2 + 9 = 𝑂 𝑛3
• Partiendo de:

Análisis de algoritmos
04 Notación asintótica
Prof. Edgardo Adrián Franco Martínez
𝒇 𝒙 = 𝑶 𝒈 𝒙 ⇔ ∃𝑐 > 0, 𝑥0 > 0| ∀ x > 𝑥0 , | f (𝑥) | ≤ 𝑐| g (𝑥) |

• Sustituyendo
|3𝑛3 + 5𝑛2 + 9| ≤ 𝑐|𝑛3 |

• Como ambas funciones van de ℕ a x y 𝑥0 >0, y desde 𝑥0 =0 no negativa

3𝑛3 + 5𝑛2 + 9 ≤ 𝑐𝑛3

• Agrupando
5𝑛2 ≤ 𝑐 − 3 𝑛3 − 9

• Si 𝒄 = 𝟓 𝒚 𝒙𝟎 = 𝟎, ∀𝒏 > 𝒙𝟎 *ERROR: Revisar 19


5𝑛2 ≤ 2𝑛3 − 9 ∴ 3𝑛3 + 5𝑛2 + 9 = 𝑂 𝑛3
• Ejemplo 3: 5𝑛2 ≤ 2𝑛3 − 9 ∴ 3𝑛3 + 5𝑛2 + 9 = 𝑂 𝑛3

Análisis de algoritmos
20

04 Notación asintótica
Prof. Edgardo Adrián Franco Martínez
Cota Superior no ajustada: Notación 𝑜 minuscula
• La cota superior asintótica dada por la notación 𝐎 puede o no ser

Análisis de algoritmos
04 Notación asintótica
Prof. Edgardo Adrián Franco Martínez
ajustada asintóticamente. La cota 2n² = O(n²) es ajustada
asintóticamente, pero la cota 2n = o(n²) no lo es. Se emplea la
notación o para denotar una cota superior que no es ajustada
asintóticamente.

• Definición: Sean 𝑓 y 𝑔 funciones de ℕ a ℝ. Si para toda constante


𝑐 > 0 y una constante 𝑥0 se cumple que:

∀ x > 𝑥0 , 𝑐 > 0 , f (x) | ≤ 𝑐 | g (x) |

• i.e. que para 𝑥 > 𝑥0 , 𝑓 es menor o igual a todos los múltiplos 𝑐 >
0 de 𝑔, decimos que:
𝑓 𝑥 =𝑜 𝑔 𝑥
21
• La definición formal es:
• 𝒇 𝒙 =𝒐 𝒈 𝒙 ⇔ ∃𝑥0 > 0 ∀ x > 𝑥0 , c > 0, f (𝑥) | ≤ 𝑐| g (𝑥) |
𝟐𝒏 = 𝒐(𝒏²)

Análisis de algoritmos
22

04 Notación asintótica
Prof. Edgardo Adrián Franco Martínez
𝟐𝒏𝟐 ≠ 𝒐(𝒏²)

Análisis de algoritmos
23

04 Notación asintótica
Prof. Edgardo Adrián Franco Martínez
Diferencia entre 𝑂 y 𝑜
• Las notaciones de 𝑶 y 𝒐 son similares. La diferencia principal es, que en

Análisis de algoritmos
04 Notación asintótica
Prof. Edgardo Adrián Franco Martínez
𝑓(𝑛) = 𝑶(𝑔(𝑛)), la cota 0 ≤ 𝑓(𝑛) ≤ 𝑐𝑔(𝑛) se cumple para alguna
constante 𝑐 > 0 , pero en 𝑓(𝑛) = 𝒐(𝑔(𝑛)), la cota 0 ≤ 𝑓(𝑛) ≤
𝑐𝑔(𝑛) se cumple para todas las constantes 𝑐 > 0.

• Intuitivamente en la notación 𝒐, la función 𝑓(𝑛) se vuelve insignificante


con respecto a 𝑔(𝑛) a medida que 𝑛 se acerca a infinito
𝒇(𝒏)
lim =𝟎
𝒏→∞ 𝒈(𝒏)

• Para 𝑜 la desigualdad se mantiene para todas las constantes positivas,


mientras que para 𝑂 la desigualdad se mantiene sólo para algunas
constantes positivas.

𝒇 𝒙 = 𝑶 𝒈 𝒙 ⇔ ∃𝑐 > 0, 𝑥0 > 0 | ∀ x > 𝑥0 , | f (𝑥) | ≤ 𝑐| g (𝑥) |

𝒇 𝒙 =𝒐 𝒈 𝒙 ⇔ ∃𝑥0 > 0 ∀ x > 𝑥0 , c > 0, f (𝑥) | ≤ 𝑐| g (𝑥) | 24


Cota Inferior: Notación Ω
• La notación Ω Es el reverso de 𝑂, i.e es una función que sirve de

Análisis de algoritmos
04 Notación asintótica
Prof. Edgardo Adrián Franco Martínez
cota inferior de otra función cuando el argumento tiende a infinito

𝒇 𝒙 = Ω 𝒈 𝒙 ⇔ ∃𝑐 > 0, 𝑥0 > 0 | ∀ x > 𝑥0 , c| g(𝑥) | ≤ | f (𝑥) |

25
Cota ajustada asintótica: Notación Θ
• La cota ajustada asintótica o de orden exacto es una función que

Análisis de algoritmos
04 Notación asintótica
Prof. Edgardo Adrián Franco Martínez
sirve de cota tanto superior como inferior de otra función cuando
el argumento tiende a infinito.
𝒇 𝒙 = Θ 𝒈 𝒙 ⇔ ∃𝑐1 > 0, 𝑐2 > 0, 𝑥0 > 0 | ∀ x > 𝑥0 , 𝑐1 | g(𝑥) | ≤ | f (𝑥) | ≤ 𝑐2 | g(𝑥) |

Θ Grande dice que ambas


funciones se dominan
mutuamente, en otras
palabras, son
asintóticamente
equivalentes.

26
Observaciones sobre las cotas asintóticas

Análisis de algoritmos
04 Notación asintótica
Prof. Edgardo Adrián Franco Martínez
1. La utilización de las cotas asintóticas para comparar
funciones de tiempo de ejecución se basa en la hipótesis de
que son suficientes para decidir el mejor algoritmo,
prescindiendo de las constantes de proporcionalidad. Sin
embargo, esta hipótesis puede no ser cierta cuando el
tamaño de la entrada es pequeño.

2. Para un algoritmo dado se pueden obtener tres funciones


que miden su tiempo de ejecución, que corresponden a sus
casos mejor, medio y peor, y que denominaremos
respectivamente Tm(n), T1/2(n) y Tp(n), para cada una de
ellas podemos dar hasta 4 cotas asintóticas (O, o, Ω, Θ) de
crecimiento, por lo que se obtiene un total de 12 cotas para 27
el algoritmo.
3. Para simplificar, dado un algoritmo diremos que su orden de
complejidad es O(f) si su tiempo de ejecución para el peor
caso es de orden O de f, es decir, Tp(n) es de orden O(f). De

Análisis de algoritmos
04 Notación asintótica
Prof. Edgardo Adrián Franco Martínez
forma análoga diremos que su orden de complejidad para el
mejor caso es Ω(g) si su tiempo de ejecución para el mejor
caso es de orden Ω de g, es decir, Tm(n), es de orden Ω(g).

4. Por último, diremos que un algoritmo es de orden exacto


Θ(f) si su tiempo de ejecución en el caso medio T1/2(n) es
de este orden.

28
Ordenes de complejidad (Cota superior)
• Dado que las funciones complejidad están en el conjunto de

Análisis de algoritmos
04 Notación asintótica
Prof. Edgardo Adrián Franco Martínez
funciones que van de de ℕ a ℝ; es posible clasificar los
algoritmos según el orden de su función complejidad. Gran
parte de los algoritmos tienen complejidad que cae en uno
de los siguientes casos:

• 𝑶(𝟏) Complejidad constante


• 𝑶(log 𝒏) Complejidad logarítmica
• 𝑶(𝒏) Complejidad lineal
• 𝑶(𝒏 log 𝒏) Complejidad “n log n”
• 𝑶(𝒏𝟐 ) Complejidad cuadrática
• 𝑶(𝒏𝟑 ) Complejidad cubica
• 𝑶 𝒄𝒏 ; 𝒄 > 𝟏 Complejidad exponencial
• 𝑶(𝒏!) Complejidad factorial 29

𝑶(𝟏) ⊂ 𝑶(𝒍𝒐𝒈 𝒏) ⊂ 𝑶(𝒏) ⊂ 𝑶(𝒏 𝒍𝒐𝒈 𝒏) ⊂ 𝑶(𝒏𝟐 ) ⊂ 𝑶(𝒄𝒏 ) ⊂ 𝑶(𝒏!)


𝑶(𝟏) ⊂ 𝑶(𝒍𝒐𝒈 𝒏) ⊂ 𝑶(𝒏) ⊂ 𝑶(𝒏 𝒍𝒐𝒈 𝒏) ⊂ 𝑶(𝒏𝟐 ) ⊂ 𝑶(𝒄𝒏 ) ⊂ 𝑶(𝒏!)

Análisis de algoritmos
30

04 Notación asintótica
Prof. Edgardo Adrián Franco Martínez
𝒇 𝒏 = 𝑶 𝟏 Complejidad constante
• Los algoritmos de complejidad constate ejecutan siempre el mismo
numero de pasos sin importar cuan grande es n.

Análisis de algoritmos
04 Notación asintótica
Prof. Edgardo Adrián Franco Martínez
𝒇 𝒏 = 𝑶 log 𝒏 Complejidad logarítmica
• Los algoritmos de complejidad logarítmica, habitualmente son
algoritmos que resuelven un problema transformándolo en
problemas menores.

𝒇 𝒏 = 𝑶 𝒏 Complejidad lineal
• Los algoritmos de complejidad lineal generalmente tratan de
manera constante cada n del problema por lo que si n dobla su
tamaño el algoritmo también dobla el número de pasos.

𝒇 𝒏 = 𝑶 𝒏 log 𝒏 Complejidad “n log n”


• Los algoritmos de complejidad “n log n” generalmente dividen un
problema en problemas más sencillos de resolver para finalmente 31
combinar las soluciones obtenidas.
𝒇 𝒏 = 𝑶(𝒏𝟐 ) Complejidad cuadrática
• Los algoritmos de complejidad cuadrática aparecen cuando los

Análisis de algoritmos
04 Notación asintótica
Prof. Edgardo Adrián Franco Martínez
datos se procesan por parejas, en la mayoría de los casos en bucles
anidados.

𝒇 𝒏 = 𝑶(𝒏𝟑 ) Complejidad cubica


• Los algoritmos de complejidad cubica son útiles para resolver
problemas pequeños p.g. si n=100 el número de operaciones es de
1,000,000.

𝑶 𝒄𝒏 ; 𝒄 > 𝟏 Complejidad exponencial


• Los algoritmos de complejidad exponencial no son útiles desde el
punto de vista practico, aparecen cuando un problema se soluciona
empleando fuerza bruta.

32
𝑶(𝒏!) Complejidad factorial
• Un algoritmo de complejidad factorial generalmente aparece
cuando el problema también es resuelto por fuerza bruta y es un

Análisis de algoritmos
04 Notación asintótica
Prof. Edgardo Adrián Franco Martínez
problema complejo por definición; o cuando se maneje de mala
manera un algoritmo recursivo.

33

También podría gustarte