0% found this document useful (0 votes)
69 views2 pages

Sample Mid

1) The document is a midterm exam covering date structures and algorithms analysis. It contains 5 questions assessing understanding of asymptotic notation, algorithm time complexities, and solving recursive equations. 2) The second question proves properties of asymptotic notations O and Ω and finds a closed form solution for a recursive time complexity equation. 3) The third question computes the "next" function for a string and defines a matrix C to solve string matching problems between two strings.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
69 views2 pages

Sample Mid

1) The document is a midterm exam covering date structures and algorithms analysis. It contains 5 questions assessing understanding of asymptotic notation, algorithm time complexities, and solving recursive equations. 2) The second question proves properties of asymptotic notations O and Ω and finds a closed form solution for a recursive time complexity equation. 3) The third question computes the "next" function for a string and defines a matrix C to solve string matching problems between two strings.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Date Structures and Analysis of Algorithms

Midterm Examination (Two Hours)

1. (10 marks)
a). (5 marks) Fill in the relationship between each pair of the functions below.
(Use Ω, O, Θ, or none of the above)

n = n + n/ log2 (n) (1)



n+ n = n (2)
n ∗ log2 (n2 ) = nlog2 (n) (3)
(2/3)n = n (4)
2n = (3/2)n (5)

b). (5 marks) Answer following questions.


What is the worst case time complexity of constructing Huffman coding tree?
What is the average case time complexity of quicksort?
What is the worst case time complexity of heap construction (heapification) ?
What is the worst case time complexity of sequence comparison algorithm?
What is the lower bound for sorting algorithm based on comparison?
2. (10 marks)
a). (4 marks)
√ Prove,
√ by using the definitions of O and Ω, the following:
n = O ( n − 5)
log2 (max{f (n), g(n)}) = Ω(log2 (f (n) ∗ g(n)))
b). (6 marks) Find a closed form for the following recursive equation.
T (n) = T (n/2) + 1; if n > 1 and n is of power of 2.
T (1) = 1;

3. (10 marks)
a) (5 marks) For a given string S = p1 p2 ...pn , the definition for next(i), 2 ≤ i ≤ n, is as
follows:
next(i) = the maximum j (0 < j < i − 1) such that p1 p2 ...pj = pi−j pi−j+1 ...pi−1 ,
0 if no such j exists.
(next(1) is defined as -1.)
Compute the next function for string “abababc”.

b) (5 marks) Given two strings, A = a1 , a2 , ...am and B = b1 , b2 , ...bn , we define a matrix


C[0..m, 0..n] as follows: (1 ≤ i ≤ m, 1 ≤ j ≤ n)
C[0, 0] = 0, C[0, j] = j, C[i, 0] = i.
C[i, j] = min{C[i − 1, j] + 1, C[i, j − 1] + 1, C[i − 1, j − 1] + rij } where rij = 0, if ai = bj , or
=1, if ai 6= bj .
Compute the C matrix for strings A = ababab, and B = babaaa. What is the meaning of
the value in C[m, n]?
4. (10 marks)
Given a set of characters A = {a1 , a2 , ...an }, where n > 2. Let fi and fj be the frequencies
of ai and aj , and di and dj be the depths of ai and aj in a Huffman encoding tree for A.
Prove or disprove (by counter example) the following statement.

a. (5 marks) if di = dj then fi = fj .

b. (5 marks) if fi > fj then di ≤ dj .

5. (10 marks) Suppose that you are given a sorted list of n elements followed by f (n)
randomly ordered elements. How would you sort the entire list if

a. (3 marks) f (n) = 2?

b. (4 marks) f (n) = n?

c. (3 marks) How large can f (n) be for the entire list to be sorted in O(n) time?

You might also like