33
Tema 04: Notación asintótica 1 Análisis de algoritmos M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom

04 Notación asintótica - Edgardo A. Francoeafranco.com/docencia/analisisdealgoritmos/files/04/Tema04.pdfComplejidad factorial •Un algoritmo de complejidad factorial generalmente

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Tema 04: Notación asintótica

1

Análisis de algoritmos

M. en C. Edgardo Adrián Franco Martínez http://[email protected]@edfrancom edgardoadrianfrancom

Contenido• 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

• Ordenes de complejidad (Cota superior)

2

An

ális

is d

e al

gori

tmo

s0

4 N

ota

ció

n a

sin

tóti

caP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

• El costo para obtener una solución de un problema concretoaumenta con el tamaño 𝐧 del problema.

• Para valores suficientemente pequeños de 𝑛, el coste deejecución de cualquier algoritmo es pequeño, incluyendo losalgoritmos ineficientes; i.e. la elección del algoritmo no es unproblema 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 susfunciones de complejidad para valores grandes de 𝑛, es decirse estudia el comportamiento asintótico de 𝑓(𝑛), lo cuálpermite conocer el comportamiento en el límite del costecuando 𝑛 crece.

3

An

ális

is d

e al

gori

tmo

s0

4 N

ota

ció

n a

sin

tóti

caP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Introducción

• Se le llama asíntota a una línea recta que se aproximacontinuamente a otra función o curva; es decir que ladistancia entre las dos tiende a cero, a medida que seextienden indefinidamente.

• También se puede decir que es la curva la que se aproximacontinuamente a la recta; o que ambas presentan uncomportamiento asintótico.

4

An

ális

is d

e al

gori

tmo

s0

4 N

ota

ció

n a

sin

tóti

caP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Asíntota

• Sean 𝑓 y 𝑔 funciones de ℕ a ℝ. Se dice que 𝑓 dominaasintóticamente a 𝑔 o que 𝑔 es dominada asintóticamentepor 𝑓; si ∃𝑘 ≥ 0 𝑦 𝑚 ≥ 0 tales que:

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

• En otros términos, podemos decir que si una función domina aotra, 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óticoproporcionan una manera conveniente de expresarlas ymanipularlas. 5

An

ális

is d

e al

gori

tmo

s0

4 N

ota

ció

n a

sin

tóti

caP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Dominio asintótico

• Gráficas de las funciones 𝑚 𝑓(𝑛) y 𝑔(𝑛) ,donde 𝑘 es el valor apartir del cual 𝑚 𝑓(𝑛) es mayor que 𝑔(𝑛) y esta relación demagnitud se conserva conforme 𝑛 crece. 6

An

ális

is d

e al

gori

tmo

s0

4 N

ota

ció

n a

sin

tóti

caP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

• Ejemplo 1: Sean 𝑓 𝑛 = 𝑛 y 𝑔 𝑛 = 𝑛3 funciones de ℕ a ℝ.

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

ii. Demostrar que 𝑓 no domina asintóticamente a 𝑔¬(∃𝑚 ≥ 0, 𝑘 ≥ 0 𝑡𝑎𝑙𝑒𝑠 𝑞𝑢𝑒 𝑔 𝑛 ≤ 𝑚 𝑓 𝑛 , ∀𝑛 ≥ 𝑘)

7

An

ális

is d

e al

gori

tmo

s0

4 N

ota

ció

n a

sin

tóti

caP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Dominio asintótico (Ejemplo 1)

• Ejemplo 1: Sean 𝑓 𝑛 = 𝑛 y 𝑔 𝑛 = 𝑛3 funciones de ℕ a ℝ.

i. Demostrar que 𝑔 domina asintóticamente a 𝑓∃𝑚 ≥ 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 𝑔 dominaasintóticamente a 𝑓.

8

An

ális

is d

e al

gori

tmo

s0

4 N

ota

ció

n a

sin

tóti

caP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

• Ejemplo 1: Sean 𝑓 𝑛 = 𝑛 y 𝑔 𝑛 = 𝑛3 funciones de ℕ a ℝ.

ii. Demostrar que 𝑓 no domina asintóticamente a 𝑔¬(∃𝑚 ≥ 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

An

ális

is d

e al

gori

tmo

s0

4 N

ota

ció

n a

sin

tóti

caP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

10

An

ális

is d

e al

gori

tmo

s0

4 N

ota

ció

n a

sin

tóti

caP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

• Ejemplo 1: Sean 𝑓 𝑛 = 𝑛 y 𝑔 𝑛 = 𝑛3 funciones de ℕ a ℝ.

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

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

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

11

An

ális

is d

e al

gori

tmo

s0

4 N

ota

ció

n a

sin

tóti

caP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Dominio asintótico (Ejemplo 2)

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

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

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

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

• Como 𝑐 > 0; entonces𝑔(𝑛) ≤ 𝑚𝑐|𝑔(𝑛)| , ∀𝑛 ≥ 𝑘

• Tomando 𝑚 =1

𝑐y 𝑘 = 0 se tiene

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

12

An

ális

is d

e al

gori

tmo

s0

4 N

ota

ció

n a

sin

tóti

caP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

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

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

• Esto es

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

• Tomando 𝑚 = 𝑐 𝑦 𝑘 = 0 se tiene

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

13

An

ális

is d

e al

gori

tmo

s0

4 N

ota

ció

n a

sin

tóti

caP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

• Cuando se hace el análisis teórico para obtener la funcióncomplejidad 𝑓(𝑛) que caracterice a un algoritmo, se estáobteniendo un modelo de comportamiento para la demandade recursos en función del parámetro 𝑛; de tal forma que si𝑡(𝑛) es la cantidad real del recurso que se consume para unaimplantación específica del algoritmo se tiene que:

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

• i.e. 𝒇(𝒏) domina asintóticamente a cualquier 𝒕(𝒏); dicho de otramanera la demanda de recursos se va a regir por el modelo decrecimiento que observe 𝑓(𝑛). 14

An

ális

is d

e al

gori

tmo

s0

4 N

ota

ció

n a

sin

tóti

caP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Dominio asintótico a la función complejidad

• El interés principal del análisis de algoritmos radica en sabercómo crece la demanda de recursos, cuando el tamaño delproblema crece. Esto es la eficiencia asintótica del algoritmo.Se denomina “asintótica” porque analiza el comportamientode las funciones en el límite, es decir, su tasa de crecimiento.

• La notación asintótica captura el comportamiento de lafunción para valores grandes de 𝒏 . Se consideran lasfunciones asintóticamente no negativas.

• Las notaciones no son dependientes de los tres casosanteriormente vistos, es por eso que una notación quedetermine el peor caso puede estar presente en una o entodas las situaciones.

15

An

ális

is d

e al

gori

tmo

s0

4 N

ota

ció

n a

sin

tóti

caP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Notación asintótica

• Cuando describimos cómo es que el número de operaciones𝑓(𝑛) depende del tamaño 𝑛 ; lo que nos interesa esencontrar el patrón de crecimiento o cota para la funcióncomplejidad y así caracterizar al algoritmo; una vez hechaesta caracterización podremos agrupar las funciones deacuerdo al número de operaciones que realizan.

16

An

ális

is d

e al

gori

tmo

s0

4 N

ota

ció

n a

sin

tóti

caP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Notación de orden

• La notación O (Omicron mayúscula) se utiliza para compararfunciones. Dada una función 𝑓, se desea estudiar funciones 𝑔 quea 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

An

ális

is d

e al

gori

tmo

s0

4 N

ota

ció

n a

sin

tóti

caP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Cota Superior: Notación𝑂mayúscula

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

18

An

ális

is d

e al

gori

tmo

s0

4 N

ota

ció

n a

sin

tóti

caP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

• Ejemplo 3: Muestre que 𝑓𝑡 n = 3𝑛3 + 5𝑛2 + 9 = 𝑂 𝑛3

• Partiendo de:

𝒇 𝒙 = 𝑶 𝒈 𝒙 ⇔ ∃𝑐 > 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

• Agrupando5𝑛2 ≤ 𝑐 − 3 𝑛3 − 9

• Si 𝒄 = 𝟓 𝒚 𝒙𝟎= 𝟎, ∀𝒏 > 𝒙𝟎*ERROR: Revisar5𝑛2 ≤ 2𝑛3 − 9 ∴ 3𝑛3 + 5𝑛2 + 9 = 𝑂 𝑛3

19

An

ális

is d

e al

gori

tmo

s0

4 N

ota

ció

n a

sin

tóti

caP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

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

20

An

ális

is d

e al

gori

tmo

s0

4 N

ota

ció

n a

sin

tóti

caP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

• La cota superior asintótica dada por la notación 𝐎 puede o no serajustada asintóticamente. La cota 2n² = O(n²) es ajustadaasintóticamente, pero la cota 2n = o(n²) no lo es. Se emplea lanotación o para denotar una cota superior que no es ajustadaasintó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:

𝑓 𝑥 = 𝑜 𝑔 𝑥

• La definición formal es:

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

21

An

ális

is d

e al

gori

tmo

s0

4 N

ota

ció

n a

sin

tóti

caP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Cota Superior no ajustada: Notación𝑜minuscula

𝟐𝒏 = 𝒐(𝒏²)

22

An

ális

is d

e al

gori

tmo

s0

4 N

ota

ció

n a

sin

tóti

caP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

𝟐𝒏𝟐 ≠ 𝒐(𝒏²)

23

An

ális

is d

e al

gori

tmo

s0

4 N

ota

ció

n a

sin

tóti

caP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

• Las notaciones de 𝑶 y 𝒐 son similares. La diferencia principal es, que en𝑓(𝑛) = 𝑶(𝑔(𝑛)), la cota 0 ≤ 𝑓(𝑛) ≤ 𝑐𝑔(𝑛) se cumple para algunaconstante 𝑐 > 0 , pero en 𝑓(𝑛) = 𝒐(𝑔(𝑛)), la cota 0 ≤ 𝑓(𝑛) ≤𝑐𝑔(𝑛) se cumple para todas las constantes 𝑐 > 0.

• Intuitivamente en la notación 𝒐, la función 𝑓(𝑛) se vuelve insignificantecon 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 algunasconstantes positivas.

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

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

An

ális

is d

e al

gori

tmo

s0

4 N

ota

ció

n a

sin

tóti

caP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Diferencia entre𝑂 y 𝑜

• La notación Ω Es el reverso de 𝑂, i.e es una función que sirve decota inferior de otra función cuando el argumento tiende a infinito

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

25

An

ális

is d

e al

gori

tmo

s0

4 N

ota

ció

n a

sin

tóti

caP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Cota Inferior: Notación Ω

• La cota ajustada asintótica o de orden exacto es una función quesirve de cota tanto superior como inferior de otra función cuandoel argumento tiende a infinito.

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

26

An

ális

is d

e al

gori

tmo

s0

4 N

ota

ció

n a

sin

tóti

caP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Cota ajustada asintótica: Notación Θ

Θ Grande dice que ambas funciones se dominan mutuamente, en otraspalabras, son asintóticamente equivalentes.

Observaciones sobre las cotas asintóticas1. La utilización de las cotas asintóticas para comparar

funciones de tiempo de ejecución se basa en la hipótesis deque son suficientes para decidir el mejor algoritmo,prescindiendo de las constantes de proporcionalidad. Sinembargo, esta hipótesis puede no ser cierta cuando eltamaño de la entrada es pequeño.

2. Para un algoritmo dado se pueden obtener tres funcionesque miden su tiempo de ejecución, que corresponden a suscasos mejor, medio y peor, y que denominaremosrespectivamente Tm(n), T1/2(n) y Tp(n), para cada una deellas podemos dar hasta 4 cotas asintóticas (O, o, Ω, Θ) decrecimiento, por lo que se obtiene un total de 12 cotas parael algoritmo.

An

ális

is d

e al

gori

tmo

s0

4 N

ota

ció

n a

sin

tóti

caP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

27

An

ális

is d

e al

gori

tmo

s0

4 N

ota

ció

n a

sin

tóti

caP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

28

3. Para simplificar, dado un algoritmo diremos que su orden decomplejidad es O(f) si su tiempo de ejecución para el peorcaso es de orden O de f, es decir, Tp(n) es de orden O(f). Deforma análoga diremos que su orden de complejidad para elmejor caso es Ω(g) si su tiempo de ejecución para el mejorcaso 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) esde este orden.

29

• Dado que las funciones complejidad están en el conjunto defunciones que van de de ℕ a ℝ; es posible clasificar losalgoritmos según el orden de su función complejidad. Granparte de los algoritmos tienen complejidad que cae en unode 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

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

An

ális

is d

e al

gori

tmo

s0

4 N

ota

ció

n a

sin

tóti

caP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Ordenes de complejidad (Cota superior)

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

30

An

ális

is d

e al

gori

tmo

s0

4 N

ota

ció

n a

sin

tóti

caP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

𝒇 𝒏 = 𝑶 𝟏 Complejidad constante

• Los algoritmos de complejidad constate ejecutan siempre el mismonumero de pasos sin importar cuan grande es n.

𝒇 𝒏 = 𝑶 log𝒏 Complejidad logarítmica

• Los algoritmos de complejidad logarítmica, habitualmente sonalgoritmos que resuelven un problema transformándolo enproblemas menores.

𝒇 𝒏 = 𝑶 𝒏 Complejidad lineal

• Los algoritmos de complejidad lineal generalmente tratan demanera constante cada n del problema por lo que si n dobla sutamañ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 unproblema en problemas más sencillos de resolver para finalmentecombinar las soluciones obtenidas.

31

An

ális

is d

e al

gori

tmo

s0

4 N

ota

ció

n a

sin

tóti

caP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

𝒇 𝒏 = 𝑶(𝒏𝟐) Complejidad cuadrática

• Los algoritmos de complejidad cuadrática aparecen cuando losdatos se procesan por parejas, en la mayoría de los casos en buclesanidados.

𝒇 𝒏 = 𝑶(𝒏𝟑) Complejidad cubica

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

𝑶 𝒄𝒏 ; 𝒄 > 𝟏 Complejidad exponencial

• Los algoritmos de complejidad exponencial no son útiles desde elpunto de vista practico, aparecen cuando un problema se solucionaempleando fuerza bruta.

32

An

ális

is d

e al

gori

tmo

s0

4 N

ota

ció

n a

sin

tóti

caP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

𝑶(𝒏!) Complejidad factorial

• Un algoritmo de complejidad factorial generalmente aparececuando el problema también es resuelto por fuerza bruta y es unproblema complejo por definición; o cuando se maneje de malamanera un algoritmo recursivo.

33

An

ális

is d

e al

gori

tmo

s0

4 N

ota

ció

n a

sin

tóti

caP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez