You are on page 1of 3

1. Demuestre que T(n) = 𝑒 𝑛 ∉ 𝑂(𝑛3 ).

Donde 𝑒 es la base de los logaritmos naturales

𝑇(𝑛) = 𝑒 𝑛 ∈ 𝑂(𝑛3 ) →

Por el teorema del límite


𝑒𝑛
lim 3 𝑑𝑒𝑏𝑒 𝑠𝑒𝑟 𝑖𝑔𝑢𝑎𝑙 𝑎 𝑐𝑒𝑟𝑜 →
𝑛→∞ 𝑛

Por L´Hopital
𝑛 𝑛
𝑒 𝑒 𝑒2 𝑒𝑛
lim 3 = lim = lim = lim = ∞ →
𝑛→∞ 𝑛 𝑛→∞ 3𝑛 2 𝑛→∞ 6𝑛 𝑛→∞ 6

Por tanto
𝑇(𝑛) ∉ 𝑂(𝑛3 )

2. Demuestre que T(n) = 4𝑛2 − 5𝑛 + 2 ∈ 𝑂(𝑛2 ). Encuentre 𝑐 𝑦 𝑛0

Por el teorema del límite


4𝑛2 − 5𝑛 + 2
lim →
𝑛→∞ 𝑛2

Por L´Hopital
2
4𝑛 − 5𝑛 + 2 8𝑛 − 5
lim 2
= lim =4
𝑛→∞ 𝑛 𝑛→∞ 2𝑛

Da una constante, por tanto, son iguales y se verifica que 4𝑛2 − 5𝑛 + 2 ∈ 𝑂(𝑛2 )

Hallamos 𝑐 y 𝑛0

4𝑛2 − 5𝑛 + 2 ≤ 𝑐𝑛2 →

4𝑛2 − 5𝑛 + 2
𝑐≥ →
𝑛2

4𝑛2 − 5𝑛 + 2
𝑐 ≥ lim →
𝑛→∞ 𝑛2

𝑐≥4

Hacemos 𝑐 = 4
4𝑛 − 5𝑛 + 2 = 4𝑛2 →
2

5𝑛 − 2 = 0 →

2
𝑛= →
5

𝑛0 = 1
3. Ordene las siguientes funciones de menor a mayor según su orden de magnitud
a. T(n) = 104
b. T(n) = 3𝑛 + 𝑛2
c. T(n) = 2𝑛 + 𝑛3
d. T(n) = 3𝑛
e. T(n) = 𝑛4

Solución

a. T(n) = 104
b. T(n) = 𝑛4
c. T(n) = 2𝑛 + 𝑛3
d. T(n) = 3𝑛
e. T(n) = 3𝑛 + 𝑛2

4. Para el siguiente algoritmo, calcule el contador de frecuencias, empleando la notación


de sumatorias. Calcule el orden de magnitud. Encuentre las constantes 𝑐 𝑦 𝑛0 para los
cuales se cumple O.

function B (n, A[])


𝑛−1 𝑛

for i = 1 to n − 1 do → 1 + ∑ (1 + ∑ 4)
𝑖=1 𝑗=𝑖+1
for j = i + 1 to n do
if A(j-1) > A(j) then
tmp = A(j-1)
A(j-1) = A(j)
A(j) = tmp
endif
endfor
endfor
end B

𝑛−1 𝑛

1 + ∑ (1 + ∑ 4) →
𝑖=1 𝑗=𝑖+1
𝑛−1 𝑛

1 + ∑ (1 + 4 ∑ 1) →
𝑖=1 𝑗=𝑖+1
𝑛−1

1 + ∑(1 + 4(𝑛 − 𝑖)) →


𝑖=1
𝑛−1

1 + ∑(4𝑛 − 4𝑖 + 1) →
𝑖=1
𝑛−1 𝑛−1

1 + ∑(4𝑛 + 1) − ∑ 4𝑖 →
𝑖=1 𝑖=1
𝑛−1 𝑛−1

1 + (4𝑛 + 1) ∑ 1 − 4 ∑ 𝑖 →
𝑖=1 𝑖=1

𝑛(𝑛 − 1)
1 + (4𝑛 + 1)(𝑛 − 1) − 4 →
2

1 + (4𝑛 + 1)(𝑛 − 1) − 2𝑛(𝑛 − 1) →

1 + 4𝑛2 − 4𝑛 + 𝑛 − 1 − 2𝑛2 + 2𝑛 →

2𝑛2 − 𝑛

Se puede probar fácilmente que 𝑐 = 2 𝑦 𝑛0 = 0

5. Escriba un algoritmo recursivo que calcule un número elevado a otro haciendo solo
uso de sumas. Sugerencia: use dos funciones recursivas

a. funcion pot (base, exp)


if (exp == 0)
pot = 1
else if (exp == 1)
pot = base
else
pot = mult(base, exp - 1)
end if
end

b. funcion mult (a, b)


Si (b == 0)
mult = 0
else if (b == 1)
mult = a
else
mult = a + mult (a, b - 1)
end if
end

You might also like