mid.sample

mid.sample - b. Write a set of recurrence relations that...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
Sample Midterm Exam Questions for CS130B Data Structures and Computer Algorithms Divide-and-Conquer The classical Towers of Hanoi problem begins with a stack of n 1 disks on one of three pegs. No two discs are the same size, and the discs are stacked in order, with the largest on the bottom. Solving the problem requires moving the stack from peg A to peg B in such a way that only one disc is moved at a time and no disc can be placed on top of a disc smaller than itself. Solutions to the classical problem are shown in many texts. We discussed a divide-and- conquer solution in class, which can be stated as: Hanoi ( n, A, B, C ) Hanoi ( n - 1 , A, C, B ) + Hanoi (1 , A, B, C ) + Hanoi ( n - 1 , C, B, A ) . The Cyclic Towers of Hanoi problem adds the following constraint: The pegs are placed at the vertices of a triangle, and discs can only be moved to the adjacent peg in the cyclic order. Thus a single move can transfer a disk from A to B, from B to C, or from C to A. All other moves are illegal. a. Write a pseudocode recursive procedure for solving the Cyclic Towers of Hanoi problem.
Background image of page 1
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: b. Write a set of recurrence relations that characterize the complexity of the problem. c. Show that the complexity of the problem is O (3 n ). Greedy Even though greed pays oF in Dijkstras algorithm, greedy strategies may not nd the shortest path for a graph. a. Give an example to show that the following greedy strategy doesnt work in nding the shortest path: at each step, visit the unvisited vertex closest to the one just visited (In Dijkstras algorithm, the greedy strategy is to visit the unvisited vertex which is closest to the set of vertices that have already been visited ). b. One important reason that Dijkstras algorithm works is that the costs of edges are all positive. If it is not true, i.e., there exit edges with negative costs, will Dijkstras algorithm work for this particular type of graphs?...
View Full Document

Ask a homework question - tutors are online