CISC 320 -- Fall 1996 -- final exam info Final is Thurs, Dec 19 at 10:30am to 12:30pm in 233a Purnell Hall ------------------------------------------------------------------------- The final exam is comprehensive, however with some extra emphasis on the material since exam 2. ------------------------------------------------------------------------- Exam 1: Ch 3, 4, 6, 8, 9, 11, 12, 14, 15, 16, 18. 19 Exam 2: Ch 19, 20, 22, Limpel-Ziv handout, 23, 35, 29, 30, 31 Material subsequent to Exam 2: Ch 32, 42, 44, 45 ------------------------------------------------------------------------- Sample question types: What does it mean to "polynomially reduce" one computational problem to another? In the question, "P = NP?", what do "P" and "NP" stand for? What does "NP-complete" mean? True or false? P is a subset of NP. Explain. NP is a subset of P. Explain. The satisfiability problem is NP-complete. The Hamiltonian Cycle problem is NP-complete. The Eulerian Cycle problem is NP-complete. If problem X is known to be NP-complete and you wish to show problem Y is NP-complete, explain how you might use problem X and polynomial reduction to show that problem Y is NP-complete. What do priority queues have to do with heapsort. What are the two primary operations on priority queues? How long does each take in the heap representation? Why can priority queues be implemented in a heap represented in an array, whereas balanced binary trees require a linked-node tree data structure. Heapsort has two phases. Explain briefly what happens in each phase. What is the big-O complexity of phase 1? of phase 2? What are the operations on a "dictionary" each of which we would like to be able to do fast? How well do hash tables meet this goal? How well do red-black trees meet this goal? What is the difference between a priority queue and a dictionary? What is the transitive closure of the relation R on integers, where x R y is true if and only if y = x + 1?