There are five questions for 100 total points. All are based on lectures 1-4, and thus on Chapters 1 and 2 and sections 3.1 and 3.2 of the Adler notes.
Students are responsible for understanding and following the academic honesty policies indicated on the course main page.
Problem 1.1 (30): In this problem you are to use the Master Theorem to analyze the running time of two variants of Mergesort.
Problem 1.2 (30): Let G be a weighted undirected graph where the weights are each real numbers between 0 and 1. Let T be a minimum spanning tree for G. For each of the following three re-weightings of G, determine whether T is still necessarily a minimum spanning tree for the reweighted graph. (Remember that a weighted graph may have more than one MST if there are two or more with the same total weight.) Either prove that T must be an MST for any G, or give an example of a G for which it isn't an MST.
Problem 1.3 (20): (Two exercises stolen from CLRS)
Problem 1.4 (20): (Stolen from Brassard-Bratley (1998), Problem 4.11.2) In this problem we represent an integer polynomial P = a0 + a1x + ... + adxd of degree d by an array of length d+1 containing the coefficients a0...ad. Assume that we can multiply a polynomial of degree i by a polynomial of degree 1 in O(i) time. Using FFT, we can multiply two polynomials of degree i in O(i log i) time.
Given d distinct integers n1,...,nd, there is a unique monic polynomial of degree d such that p(ni) = 0 for each i. "Monic" means that ad = 1. Give an efficient algorithm to compute this polynomial.
Last modified 17 February 2006