CSCI 151 - Data Structures and Object-Oriented Development
Spring 2015
Lab 13: Mazes, part 2: Solving mazes
- For this lab, we will compare the performance of stacks, queues, and
heaps for solving mazes.
- Download the provided code.
- Add the provided code to your project from Lab 12.
- The code includes the following files:
-
maze package
- PathStack.java: Represents a stack for storing Path objects. Make it into a working stack that uses an ArrayList.
- Create PathStackTest to provide JUnit tests for the stack. Make sure
it mantains the LIFO ordering.
- PathQueue.java: Represents a queue for storing Path objects. Make it into a working queue that uses a LinkedList
.
- Create PathQueueTest to provide JUnit tests for the queue. Make sure
it mantains the FIFO ordering.
- Maze.java: Represents a maze.
- Solver.java: Incomplete. Finish the findSolutionFor() method.
- MazeTest.java: Tests both performance and correctness.
Grading
For a grade of A+:
- Implement successful stacks and queues, along with their unit tests.
- Test all three, and write a short report describing their relative
performance on the tests cases.