Design and Analysis of Algorithms Homework

 Homework # Due Date Description 1 Friday, Sept 12 Sect 2.1 - 2, 7, 8; Sect 2.2 - 9, 10; Sect 2.3 - 5, 10; Sect 2.4 - 8, 9 2 Friday, Sept 19 Sect 3.1 - 7; Sect 3.2 - 9 (actually write a program to solve it -- it does NOT need to have a good user-interface); Sect 3.3 - 6; Sect 3.4 - 8 3 Friday, Oct. 3 Sect 4.1 - 3; Sect 4.2 - 8, 10;  Sect 4.3 - 5; Sect 4.4 - 4and implement the "table search" problem described below 4 Tuesday, Oct. 21 Section 5.1: 6, 9; Sect 5.2: 8; Sect 5.4: 10 (actually write a program to solve it. Hints: 1) use n-bit bit-strings to represent the sets, so your algorithm should generate all the bit-strings with k 1's2) Assume n is not more that 32, so you can use unsign integers to represent a set.3) You can modify the JohnsonTrotter algorithm to solve this problem) Sect 5.5: 2; Sect: 5.6: 9 Extra credit: implement the decrease-by-conquer algorithm we discussed in class for making change using the fewest number of coins. 5 Friday, Oct. 31 Section 6.1: 3, 7Section 6.3: 4, 5, 7Section 6.4: 1, 6, 10Section 6.6: 9 6 Thursday, Nov 13 Section 7.1: 7Section 7.2: 1Section 7.3: 1, 2, 8, 10 (Write the program! You may chose to implement either an open hash table or a closed hash table with linear probing) Program for exercise 10 may be handed in on 11/20.Section 7.4: 3, 4, 6 7 Tuesday, Dec. 9 Section 8.1: 9 (write a program)Section 8.2: 7Section 8.3: 10Section 8.4: 1Section 9.1: 3Section 9.3: 2 8

Table Search problem: Implement (write a program!) a divide-and-conquer solution to

the following problem:

Search in an m x n array , say M, of integers for a target value. The array elements are ordered such that:

1) M[i][j] <= M[i+1][j] (as you go down a column the elements get bigger or stay the same), AND

2) M[i][j] <= M[i][j+1] (as you go to the right in a row the elements get bigger or stay the same)

If the array contains multiple copies of the target, you algorithm just needs to find one.