The test will be closed-book, but you may have one sheet of paper (8.5"x11", front and back) with notes.

For the test, you should:

- understand the concept of big-oh, theta, and omega notation. I will not ask you to find the constants c and N to prove a function satisfies one of the definitions, but you should have a good feel for the usage and meaning of these notations.
- be able to analyze an algorithm containing nested loops to determine its theta notation (or for partial credit a reasonable big-oh notation)
- be able to write recurrence relations for divide-and-conquer algorithms
- be able to solve recurrence relations using the substitution method to find the theta notation
- understand the general concept of the brute force problem-solving technique discussed in chapter 3
- understand the brute-force algorithms for problems discussed in class. Don't try to memorize this algorithms, but have a general idea of how they work so you could give a general English description of how they work.
- be able to develop an brute-force algorithm to a "new" (i.e., not discussed in class) simple problem