CP5602 Assignment

Due by 30/04/2023
Aim: This assignment is designed to help you improve your critical thinking and problem solving skills. It also helps you to be prepared for the final examination (i.e., strongly recommended to do this assignment).

Requirements, Method of Submission, and Marking Criteria:
Include your name on the first page.

Answer all questions in a single document. Each question should begin on a new page.

Providing an answer without explanation in which how did you achieve it, is not acceptable. Show all your work (Partial mark applies).

If you use penandpaper you may submit a scan of your worksheet.

Upload your solution to the Assignment Box, located in the subject’s site.

1. Consider recurrence T (n) = T (n/2) + n.
(a) Use the recursion tree to give tight BigOh asymptotic bound for this recurrence.   
[1 mark]
(b) Use the substitution method to support your computed bound in item (a).    [1 mark]

2. Use the master method to give tight asymptotic bounds for the following recurrences (if the master method cannot be applied give your argument):
(a) T (n) = 8T (n/2) + n3.    
[1 mark]
(b) T (n) = 8T (n/2) + n2 lg n[1 mark]

3. Let A = (21, 16, 49, 32, 22, 5, 6, 21, 60) be an array associated with a complete binary tree (i.e. 21 is the root, with 16 as its left child and 49 as its right child, and so forth).
(a) Using Figure 6.3 as a model, illustrate the operation of BUILDMAXHEAP on the array.
    [1 mark]
(b) Using Figure 6.4 as a model, illustrate the operation of HEAPSORT on the resulting heap of item (a).
    [1 mark]

4. Using Figure 7.1 as a model (i.e., choosing the last element as pivot), illustrate the operation of PARTITION (used in Quicksort algorithm) on the array A(3, 5, 19, 15, 12, 18, 17, 24, 23, 21, 6, 7). [1 mark]

5. Consider inserting the keys 20, 0, 21, 10, 3, 33, 25, 29,42 into a hash table of length m = 11 using open addressing with the auxiliary hash function ht(k) = k. Illustrate the result of inserting these keys up to the point that algorithm fails.
(a) using linear probing,               [1 mark]
(b) using quadratic probing with c1 = 1 and c2 = 3, and             [1 mark]
(c) using double hashing with h1(k) = k and h2(k) = 1 + (k mod (m 1)).  [1 mark]


6. Find an optimal parenthesization of a matrixchain product whose sequence of dimensions is (5,8, 7, 9, 20). That is: matrix dimension——
A2 8 × 7

A3 7 × 9

A4 9 × 20

[1 mark]

7. Consider the mtable of Figure 1 that is generated from matrix chain multiplication of A1×· · ·×A6. Discuss that the first cut on multiplications of A1 ×· · ·×A6. cannot be 3. That is, in the associated stable, the value in s[1, 6] cannot be 3. Conclude that (((A1 × A2) × A3) × ((A4 × A5) × A6)) cannot be a correct parenthesization for efficient solution to this matrix chain multiplication. Figure 1: mtable.      [1 mark]

8. Determine an LCS (Longest Common Subsequence) of sequences X = (A, L, G, O, L) and Y = (G, O, A, L).        [1 mark]

9. What is an optimal Huffman code for the following set of frequencies? a:1, b:2, c:4, d:7, e:9, f:10, g:13, h:18, i:25.         [1 marks]

10. Show the results of inserting the keys 8, 25, 20, 4, 18, 6, 3, 30, 7, 10, 40, 33, 42, 38, 2, 5, 53, 47, 32, 41, 1 in order into an empty Btree with minimum degree 2. Draw only the configurations of the tree just before some node must split, and also draw the final configuration.      [2 marks]

11. Consider a directed graph G in Figure 2. Using vertex p as the source, and assuming that all nodes are required to be discovered in alphabetic order; Figure 2: Directed graph G.
(a) Show the d and π values that result from running breadthfirst search on graph G,
   [1 mark]
(b) Show how depthfirst search (DFS) works on the graph G.    [1 mark]
(d) Determine the strongly connected components of graph G (use DFS on the transpose graph of G).    [1 mark]

12. Find all integers x that have remainders 4, 5, 6 when divided by 11, 12, 13 respectively.     [1 mark]