Está en la página 1de 2

UNIVERSIDAD NACIONAL DE INGENIERÍA

Facultad de Ciencias
Escuela Profesional de Ciencia de la Computación
Ciclo 2019-1

Tercera Práctica Calificada


Algoritmos CC262
Entregue mediante el formulario antes recibido las soluciones de los ejercicios marcados
con *. El resto son ejercicios de repaso para el examen final.

1* Supongamos que utilizamos una función de hash h para enviar n claves distintas en
un arreglo T de longitud m. Asumiento hashing uniforme simple, ¿cuál es el número
esperado de colisiones? Esto significa calcular
n o
E {k, l} : k 6= l, h(k) = h(l) .

1. Suponga que estamos almacenando un conjunto de n claves en una tabla de hash de


tamaño n. Muestre que si las claves son tomadas de un universo U con |U | > mn,
entonces U posee un subconjunto de tamaño n consistente de claves que son enviadas
todas a la misma ranura, de modo que la búsqueda en el peor caso para hashing
por concatenamiento es Θ(n).

2. Suponga que hemos almacenado n claves en una tabla de hash de longitud m, con
colisiones resueltas por concatenación, y que conocemos la longitud de cada cadena,
incluyendo la longitud L de la cadena más larga. Describa un procedimiento que
seleccione una clave uniformemente al azar de entre  las claves en la tabla de hash
y la devuelve en tiempo esperado O L · (1 + 1/α) .

4* Proporcione un algoritmo no recursivo que efectúe la caminata en orden de un árbol


binario de búsqueda.

3. Escriba el algoritmo para calcular el predecesor de un elemento en un árbol binario


de búsqueda.

4. Muestre que si en un árbol binario de búsqueda posee dos hijos, entonces su sucesor
no tiene hijo izquierdo y su predecesor no tiene hijo derecho.

5. Muestre que la noción de árbol binario elegido aleatoriamente es distinta a la de


árbol binario aleatoriamente construido definida en clase, listando la totalidad de
casos cuando n = 3.

6. (Número de árboles binarios distintos) Sea bn el número de árboles binarios distintos


con n nodos.

a) Muestre que b0 = 1 y que para n ≥ 1


n
X
bn = bk bn−k .
k=0
b) Sea B(x) la función generadora, definida por

X
B(x) = bn x n .
n=0

Muestre, a partir de la fórmula de Cauchy del producto, que B(x) = xB(x)2 +1,
y que entonces
1 √ 
B(x) = 1 − 1 − 4x .
2x

c) Calculando el desarrollo en serie de Taylor de la función g(x) = 1 − x alre-
dedor de x = 0 e introduciendo el resultado en el desarrollo de B(x), pruebe
que  
1 2n
bn = .
n+1 n
Es más, desarrolle gα (x) = (1+x)α para el caso general de α no entero positivo.
d ) Muestre con la fórmula de Stirling (a enunciar) que
4n 
bn = √ 1 + O(1/n) .
πn3/2

9* Escriba un algoritmo de programación dinámica para el problema de selección de


actividades, basándose en la recurrencia para cij establecida en clase.

7. Muestre que si (S, Ik ) es un matroide, donde S es un conjunto finito cualquiera e


Ik el conjunto de todos los subconjuntos de S de tamaño ≤ k, donde k ≤ |S|.

11* Muestre que si (S, I) es un matroide, entonces (S, I 0 ) es un matroide, donde

I 0 = {A0 : S \ A0 contiene algún maximal A ∈ I}.

Lectura obligatoria para el examen final: sección 16.5 del libro de Cormen et al.

También podría gustarte