Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Facultad de Ciencias
Escuela Profesional de Ciencia de la Computación
Ciclo 2019-2
Zn Zn
h(1) + h(x)dx ≤ Sn ≤ h(x)dx + h(n).
1 1
nk+1 nk+1 1
log(n) − + ≤ f (n)
k+1 (k + 1)2 (k + 1)2
nk+1 nk+1 1
≤ log(n) − 2
+ + nk log(n).
k+1 (k + 1) (k + 1)2
Dividiendo
1 1 f (n)
1− + k+1
≤ 1
(k + 1) log(n) (k + 1)n log(n) k+1
nk+1log(n)
1 1 k+1
≤1− + k+1
+ .
(k + 1) log(n) (k + 1)n log(n) n
1
f (n)
De ahı́ lı́m = 1, es decir, la afirmación del enunciado
n→∞ 1 nk+1 log(n)
k+1
1
con g(n) = nk+1 log(n) y c = .
k+1
Luego, para n > n0
f (n) 1
− 1 < ,
1 k+1
k+1 n log(n) 2
de donde
1 3
nk+1 log(n) < f (n) < nk+1 log(n),
2(k + 1) 2(k + 1)
esto es f (n) = Θ nk+1 log(n) .
2. Escribamos todos los enteros positivos uno tras otro desde 1 como una
gran cadena:
12345678910111213141516171819202122232425262728293031323334...
2
dı́gitos, que representan los números de 1 a 99 . . . 9} = 10M +1 − 1.
| {z
M veces 9
Fijemos m ≥ 1 la posición del dı́gito a buscar. Sea s ≥ 1 tal que
h(s) = máx h(j) : j ≥ 1, h(j) ≤ m}.
/* En PARI/GP
3
digito(m) = {
local(dig);
local(s);
if(m<=9,dig=m,
s = maxene(m);
m -= ene(s);
print(m);
if(m==0,dig=9,
q = m\(s+1);
r = m % (s+1);
N = 10^s + q;
if(r==0, dig = (N-1) % 10,
dig = digits(N)[r]
)
)
);
return(dig);
}
3. Consideremos la recurrencia
Solución.
a) Obtenemos n
n 4n
5 5
n 4n 4n 16n
25 25 25 25
.. .. .. .. .. .. .. ..
. . . . . . . .
4
En cada nivel, los costos del término O(n) se escriben como ≤ cn2 ,
con c constante. El árbol tiene altura h = log5/4 n, siendo que se
establecen las hojas bajo la condición (4/5)h n ≤ 1. También se
establece que (1/5)h n ≤ 1, por lo que hay hojas en el nivel log5 n,
pero esto ocurre más rápido.
En los primeros niveles m (contando a partir de n = 0) los costos
acumulados son de
m 2 m
X m 1 k 4 m−k 2 1 2 4 2 17 m
cn = + cn2 = cn2 .
k=0
k 5 5 5 5 25
5
a) ¿Dónde en un montı́culo (de máximo) se encuentra el menor ele-
mento del montı́culo, asumiento que todos los elementos son dis-
tintos?
b) Escriba una versión iterativa de Max-Heapify.
Solución.
a2k ≤ ak , a2k+1 ≤ ak ,