Starting from:

$30

VE477-Homework 1 Hash tables, Minimum Spanning Tree and Simple Algorithms Solved

Ex. 1 — Hash tables
In this exercise we want to estimate the maximum number of keys per slot we can expect when inserting n keys into n slots of a hash table.

Given a hash table with n slots, n keys are equiprobably hashed to each slot. Let M denote the maximum number of keys in a slot once they have all been inserted.

1.     For any positive integer k, show that the probability Pk that exactly k keys hash to a same slot is

.

2.     Prove that the probability Pk′ , for the slot with the most keys to have exactly k keys, is less or equal to nPk.

3.     Prove that Pk <ek/kk.

* 4. Show that for any positive integer k ≥ c log n/log log n, for some constant c 1, Pk′ < 1/n2. 5. Denoting the expected value of M by E(M), observe that

c log n E        ,

log log n

and conclude that E .

Hint: for question 3 apply Stirling formula.

Ex. 2 — Minimum spanning tree
Let G be a graph and T be a minimum spanning tree for G. Write the pseudocode of an algorithm which determines the minimum spanning tree of the graph G when the weight of an edge not in T is decreased.

Ex. 3 — Simple algorithms
* 1. Given two n-bits integers stored in two arrays, explain how to compute their sum in an n + 1-bits array. Write the corresponding pseudocode.

2. One decides to multiply two integers x and y by writing a function mult(x,y) returning 0 if one of them is 0 and otherwise returning the sum of a recursive call on mult, with parameters 2x and ⌊y/2⌋, and x · (y mod 2).

a)   Express this algorithm as pseudo-code.

b)   Prove the correctness of this algorithm.

Ex. 4 — Problem

Given twenty five horses determine the three fastest ones, in the right order, knowing that no more than five can race at a time. What is the minimum number of races necessary? Detail a general algorithm which solves the problem.

Ex. 5 — Critical thinking
1. The Knapsack problem is defined as follows. Given a set S and a number n find a subset of S whose elements add up exactly to n. Which of the following algorithms solve the Knapsack problem?

•    Fit the knapsack with the smallest items first.

•    Fit the knapsack with the largest items first.

* 2. In the course (Example 1.??) it is mentioned that m should be “a prime not too close from a power of 2” in order for the hash function H(k) = k mod m to be a good choice. Explain.

3. Provide an example of a greedy algorithm which is locally optimal while not being globally optimal.

Provide all the necessary details to support your claim.

More products