Test 2 on Chapters 3-6 is on Thursday (11/21).

The test will be closed-book, except for 2 sheets (8.5"x11") of notes.

For the test, you should:

1) understand the general concept of the dynamic programming, greedy approach, backtracking, and branch-and-bound problem-solving techniques,

2) understand the dynamic programming, greedy approach, backtracking, and branch-and-bound algorithms for problems discussed in class,

3) be able to apply dynamic programming, greedy approach, backtracking, and branch-and-bound techniques to "new" (i.e., not in the text) problems,

Examples Seen

Technique Problems
Greedy Coin-change problem (not optimal)

Prim's MST Algorithm

Dijkstra's Single-source Shortest Path

Traveling-Salesperson (not optimal)

Fractional Knapsack Problem

Divide-and-Conquer Coin-change problem

Binary search

Merge sort

Traveling-Salesperson

0-1 Knapsack Problem

Dynamic Programming Coin-change problem

Binomial Coefficient

Floyd's Shortest Paths Algorithm

Traveling-Salesperson

0-1 Knapsack Problem

Backtracking Coin-change problem

0-1 Knapsack Problem

Sum-of-Subsets Problem

Traveling-Salesperson

Branch-and-Bound Coin-change problem (not a good solution)

0-1 Knapsack Problem

Traveling-Salesperson