Está en la página 1de 7

5) Para que A corra más rápido que B, 100𝑛2 debe ser menor que 2𝑛

Analizando podemos darnos cuenta de que A se ejecutará mucho más rápido que B para valores
grandes de n ya que:

A (complejidad de tiempo cuadrático)

B (complejidad de tiempo exponencial)

Se inicia a verificar desde n = 1 y marcamos los valores de n que son potencia de 2.

En algún lugar entre 8 y 16, A comienza a correr más rápido que B. Hagamos lo que estábamos
haciendo, pero ahora vamos a probar el valor medio.

Entonces concluimos que, en n = 15, A comienza a correr más rápido que B.


6) Para que la ordenación por inserción supere la ordenación por mezcla para entradas
de tamaño n, 8𝑛2 debe ser inferior a 64nlgn.

Es obvio que la ordenación por inserción se ejecuta en tiempo cuadrático, lo que


definitivamente es peor que el tiempo lineal de la ordenación por mezcla para valores muy
grandes de n. Sabemos por n =1que la ordenación por mezcla supera la ordenación por
inserción. Pero para valores mayores que eso, la ordenación por inserción es mejor que la
ordenación por mezcla. Entonces, comenzaremos a verificar desde n =2.

Tenemos en cuenta que para 𝑛 < 8, 2𝑛/8 será una fracción. Entonces, comenzamos con n=8 a
comprobar los valores de n que son potencias de 2

Tenemos en cuenta que ya no necesitamos continuar ya que hemos encontrado un rango


aproximado de valores para n donde la ordenación por mezcla comienza a superar la ordenación
por inserción; en algún lugar entre 32 y 64, ahora vamos a probar el valor medio de cualquiera
de los rangos.

Entonces, en n = 44, la ordenación por mezcla comienza a superar la ordenación por inserción
nuevamente. Por lo tanto, para 2 ≤ n≤ 43, la ordenación por inserción es mejor que la
ordenación por mezcla.
7) Justificar respuesta

a) 𝟐𝐧+𝟏 = 𝐎(𝟐𝐧 )
2𝑛+1 = 2 · 2𝑛+1 ≤ 𝑐 · 2𝑛

Para cualquier c ≥ 2 esto es válido. Entonces, 2𝑛+1 = 𝑂(2𝑛 )

b) 𝟐𝟐𝐧 = 𝐎(𝟐𝐧 )
22𝑛 = 2 𝑛 · 2 𝑛 ≤ 𝑐 · 2 𝑛

2𝑛 ≤ 𝑐

No existe la constante c. Por lo tanto, 22𝑛 ≠ 𝑂(2𝑛 )


8) Demostrar que 𝒑(𝒏) = 𝜽(𝒏𝒌 )

p(n) = θ(nk )

p(n) = ak nk + ak − 1nk−1 + . . . + a0

ak − 1 1 a0 1
= ak . nk . (1 + + …+ )
ak n ak nk

| a k − 1| 1 | a0 | 1
≤ ak . nk . (1 + + … + )
ak n ak nk

| a k − 1| | a0 |
≤ ak . nk . (1 + + … + )
ak ak

Para todo n ≥ 1. con:

| a k − 1| | a0 |
C ≔ ak . (1 + + … + )
ak ak

p(n) ≤ c . nk para todos los n ∈ N se cumple

Por lo tanto 𝐩(𝐧) = 𝛉(𝐧𝐤 )


9)
10) Demostrar o refutar

a. 𝒇(𝒏) = 𝑶(𝒇(𝒏)) 𝑰𝒎𝒑𝒍𝒊𝒄𝒂 𝒈(𝒏) = 𝑶(𝒇(𝒏))

No Implica ya que 0 = 𝑂(𝑛), 𝑃𝑒𝑟𝑜 𝑛 ≠ 𝑂(0)

b. 𝒇(𝒏) = 𝑶(𝒇(𝒏)) 𝑰𝒎𝒑𝒍𝒊𝒄𝒂 𝟐𝒇(𝒏) = 𝑶(𝟐𝒈(𝒏) )

No implica ya que 𝑓(𝑛) = 2𝑛, 𝑔(𝑛) = 𝑛, 𝑒𝑛𝑡𝑜𝑛𝑐𝑒𝑠 𝑓(𝑛) = 𝑂(𝑔(𝑛))


22𝑛 ≠ 𝑂(2𝑛 ) 𝑦𝑎 𝑞𝑢𝑒 𝑠𝑖 𝑒𝑠𝑡𝑜 𝑛𝑜 𝑠𝑒 𝑐𝑢𝑚𝑝𝑙𝑒

22𝑛 2𝑛 2𝑛
𝐶 𝑦 𝑛0 (22𝑛 ≤ 𝑐2𝑛 ) Entonces 𝑐 ≥ = = 2𝑛 para todo 𝑛 ≥ 𝑛0 condición
2𝑛 2𝑛
que es imposible.

c. 𝒇(𝒏) = 𝑶(𝒇(𝒏)) 𝑰𝒎𝒑𝒍𝒊𝒄𝒂 𝒈(𝒏) = 𝜴(𝒇(𝒏))

Correcto, si implica ya que si 𝑓(𝑛) = 𝑂(𝑔(𝑛)) entonces hay 𝐶 𝑦 𝑛0 tales que


1
𝑓(𝑛) ≤ 𝑐𝑔(𝑛) Para 𝑛 ≥ 𝑛0 entonces 𝑔(𝑛) ≥ (𝐶) 𝑓(𝑛) 𝑝𝑎𝑟𝑎 𝑛 ≥ 𝑛0 y
colocando d= 1/c tenemos que 𝑔(𝑛) = 𝛺(𝑓(𝑛)).

d. 𝒇(𝒏) = 𝜽(𝒇(𝒏/𝟐))

No, ya que tomando por ejemplo 𝑓(𝑛) = 22𝑛


𝑛
Entonces 𝑓 (2) = 2𝑛 , y tomando en cuenta que 22𝑛 ≠ 𝑂(2𝑛 ) es decir
𝑛 𝑛
𝑓(𝑛) ≠ 𝑂(𝑓(𝑛/2)) y 𝑓(𝑛) = 𝜃 (𝑓 ( 2)) implicaría que 𝑓(𝑛) = 𝑂 (𝑓 ( 2))

También podría gustarte