Sie sind auf Seite 1von 20

Crecimiento de

funciones
MARKS CALDERON NIQUIN
Introducción
El crecimiento en tiempo de un algoritmo permite medir la
eficiencia de el.
Permite realizar comparaciones de desempeño de
algoritmos.
Introducción
Tamaño de datos

Depende

Tiempo de corrido
Introducción
Merge sort vs insertion sort
Insertion sort = 𝑇 𝑛 = 𝑎𝑛2 + 𝑏𝑛 + 𝑐

𝑐 𝑛=1
Merge sort = 𝑇 𝑛 = ൞ 𝑛
2𝑇 + 𝑐𝑛, 𝑛 > 1
2

El término de mayor rango prevalece sobre los demás.


Notación Asintótica
Se emplea para describir el tiempo recorrido de un algoritmo, es
definido en términos del dominio de la función.
 T(n) describe la función del peor tiempo de ejecución.
Se presentas tres tipos de análisis:
 Peor caso
 T(n) = máximo tiempo para cualquier entrada de tamaño n
 Caso promedio
 T(n) = tiempo esperado sobre todas las entradas de tamaño n
 Mejor caso
 Se aprovecha de pocos casos donde el algoritmo tiene su mejor ejecución.
Notación Asintótica Θ
Se define

Θ 𝑔 𝑛 = { 𝑓𝑛 𝑛 : 𝑒𝑥𝑖𝑠𝑡𝑒𝑛 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒𝑠 𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑎𝑠 𝑐1 , 𝑐2 𝑦 𝑛0


𝑡𝑎𝑙 𝑞𝑢𝑒 0 ≤ 𝑐1 𝑔 𝑛 ≤ 𝑓 𝑛 ≤ 𝑐2 𝑔 𝑛
Ejemplo:
𝑛2
− 3𝑛 = Θ(𝑛2 )
2
Notación Asintótica Θ
𝑛2
𝑐1 𝑛2 ≤ − 3𝑛 ≤ 𝑐2 𝑛2
2
Dividimos por 𝑛2 a los campos
1 3
𝑐1 ≤ − ≤ 𝑐2
2 𝑛

1 1
Por la derecha 𝑐2 ≤ y n >= 1, en la izquierda 𝑛 ≥ 7, 𝑐1 ≤
2 14
1 1
Entonces escogemos 𝑛0 = 7 , 𝑐1 = 𝑦 𝑐2 =
14 2
Notación Asintótica Θ
Se define

Θ 𝑔 𝑛 = { 𝑓𝑛 𝑛 : 𝑒𝑥𝑖𝑠𝑡𝑒𝑛 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒𝑠 𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑎𝑠 𝑐1 , 𝑐2 𝑦 𝑛0


𝑡𝑎𝑙 𝑞𝑢𝑒 0 ≤ 𝑐1 𝑔 𝑛 ≤ 𝑓 𝑛 ≤ 𝑐2 𝑔 𝑛
Ejemplo:
𝑛2
− 2𝑛 = Θ(𝑛2 )
2
Para las constantes 𝑐1 , 𝑐2 𝑦 𝑛0 ?
Notación Asintótica Θ
- 𝑔(𝑛) es un limite asintótico ajustado para f(n)
- 𝑓 𝑛 𝜖 Θ(𝑔(𝑛)) si encuentra 𝑐1 𝑔 𝑛 𝑦 𝑐2 𝑔(𝑛)
- Cada 𝑓 𝑛 = Θ(𝑔(𝑛)) tiene que ser
asintóticamente positiva, f(n) positiva para un n
grande.
Notación Asintótica Θ
1 2
𝑛 − 2𝑛 = Θ 𝑛2
3
Es necesario encontrar la existencia
de 𝑐1 , 𝑐2 𝑦 𝑛0
Notación Asintótica Θ
1 2
𝑛 − 2𝑛 = Θ 𝑛2
3
Es necesario encontrar la existencia
de 𝑐1 , 𝑐2 𝑦 𝑛0 :
1
𝑐1 𝑛2 ≤ 𝑛2 − 2𝑛 ≤ 𝑐2 𝑛2
3
1
Para todo 𝑛 ≥ 𝑛0 Lado izquierdo c1 = para 𝑛 ≥ 𝑛0
21
1
Lado derecho c2 = para 𝑛 ≥1
3
Dividiendo por 𝑛2 1 1
𝑐1 = ,𝑐 = , 𝑛0 = 7
1 2 21 2 3
𝑐1 ≤ − ≤ 𝑐2
3 𝑛
Notación Asintótica Θ
Si 𝑓 𝑛 = 𝑎𝑛2 + 𝑏𝑛 + 𝑐 con a>0 luego 𝑓 𝑛 = Θ(𝑛2 )
En general para cualquier
𝑝 𝑛 = σ𝑑𝑖=0 𝑎𝑖 𝑛𝑖 con 𝑎𝑑 > 0 entonces
𝑝 𝑛 = 𝜃 𝑛𝑑
Notación Asintótica 𝑂
- g(n) es el limite superior de f(n)
-O 𝑔 𝑛 es el conjunto de funciones:
O 𝑔 𝑛 = { 𝑓𝑛 𝑛 : 𝑒𝑥𝑖𝑠𝑡𝑒 𝑢𝑛𝑎 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒 𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑎 𝑐 𝑦 𝑛0
𝑡𝑎𝑙 𝑞𝑢𝑒 0 ≤ 𝑓 𝑛 ≤ 𝑐𝑔 𝑛

Notar que 𝑓 𝑛 = Θ(𝑔 𝑛) implica que 𝑓 𝑛 = 𝑂(𝑔 𝑛 )


Ejemplos para 𝑂 𝑛2

𝑛22 + 𝑛
𝑛 − 𝑛2
1000𝑛
1.999
+ 1000𝑛
𝑛
𝑛/1000
Notación estándar y funciones comunes
Logaritmos
𝑙𝑔 𝑛 = 𝑙𝑜𝑔2 𝑛 𝑙𝑜𝑔𝑎𝑟𝑖𝑡𝑚𝑜 𝑏𝑖𝑛𝑎𝑟𝑖𝑜
𝑙𝑛 𝑛 = 𝑙𝑜𝑔𝑒 𝑛 𝑙𝑜𝑔𝑎𝑟𝑖𝑡𝑚𝑜 𝑛𝑎𝑡𝑢𝑟𝑎𝑎𝑙
𝑙𝑔𝑘 𝑛 = 𝑙𝑔 𝑛 𝑘 𝑝𝑜𝑡𝑒𝑛𝑐𝑖𝑎𝑐𝑖ó𝑛
𝑙𝑔 𝑙𝑔 𝑛 = 𝑙𝑔 (𝑙𝑔 𝑛) 𝑐𝑜𝑚𝑝𝑜𝑠𝑖𝑐𝑖ó𝑛
Identidades útiles
𝑎 = 𝑏 log𝑏 𝑎
log 𝑐 𝑎𝑏 = log 𝑐 𝑎 + log 𝑐 𝑏
log 𝑏 𝑎𝑛 = 𝑛𝑙𝑜𝑔𝑏 𝑎
log 𝑐 𝑎
log 𝑏 𝑎 =
log 𝑐 𝑏
1
= − log 𝑏 𝑎
𝑎
log 𝑏 1
log 𝑏 𝑎 =
log 𝑎 𝑏
𝑎log𝑏 𝑐 = 𝑐 log𝑏 𝑎
Sumatorias
- Dada una secuencia 𝑎1 , 𝑎2 , … ., la suma 𝑎1 + 𝑎2 + … + 𝑎𝑛 es representada por
σ𝑛𝑘=1 𝑎𝑘
Si n = 0 la suma es 0, n es entero positivo

Dada la secuencia infinita 𝑎1 , 𝑎2 , … ., para suma es representada


σ∞
𝑘=1 𝑎𝑘 = lim σ𝑛
𝑘=1 𝑎𝑘
𝑛→∞
Sumatorias
Series Aritméticas
1
σ𝑛𝑘=1 𝑘 = 1 + 2+. . +𝑛 = 𝑛 𝑛+1 = Θ 𝑛 2
2
𝑛 2 𝑛(𝑛+1)(2𝑛+1)
σ𝑘=1 𝑘 =
6
𝑛 𝑛2 𝑛+1 2
σ𝑘=1 𝑘 3 =
4
Sumatorias
Series Geométricas
Para reales 𝑥 ≠ 1

σ𝑛𝑘=1 𝑥 𝑘 = 1 + 𝑥 + 𝑥 𝑘 . . +𝑥 𝑛 = (𝑥 𝑛+1 −1 )/ (𝑥 − 1)
1
σ∞
𝑘=1 𝑥 𝑘
=
1−𝑥
Probar
Probar:

σ𝑛𝑘=1 𝑘 = 0.5 ∗ 𝑛(𝑛 + 1)

σ𝑛𝑘=0 3𝑘 = 𝑂(3𝑛 )

σ𝑛𝑘=1 𝑘 = 𝑂(𝑛)
Acotación de términos
Un límite superior de una serie Acotación de términos
aritmética
Se puede obtener un buen límite
σ𝑛𝑘=1 𝑘 ≤ σ𝑛𝑘=1 𝑛 = 𝑛2 superior en las serie, limitando
cada término en la serie por
ejemplo usando el término más
En general grande de la serie para limitar los
σ𝑛𝑘=1 𝑎𝑘 ≤ 𝑛𝑎𝑚𝑎𝑥 demás términos

Das könnte Ihnen auch gefallen