Many films and televisions shows involve literal or metaphorical mazes and the disorienting complexity of navigating them. For example, in the real world, tens of thousands of robots plan efficient delivery routes through Amazon’s vast labyrinthine warehouses. In addition, the given maze involves literal or metaphorical portals that enable teleportation between distant locations, as the video games. (In the real world, there are no such things.) In this homework you’ll implement a maze-solving function (Dijkstra’s Algorithm) and the MinHeap class. Both the input maze and output solution use an ASCII art “map” format (see Sections5 and 6).
The following files have been given to you:
1.A file ( Maze.java) declaring and implementing the solve() function solving the given maze.
2.A file ( MinHeap.java) declaring and implementing the MinHeap class used in maze.java.
3.A file ( Vertex.java) implementing the Vertex class.
4.A file ( Pair.java) implementing the Pair class.
5.A file ( MainTest.java) containing a main function with tests.
Download the files through blackboard. Finish Maze.java that implements function solve() and Min- Heap.java that is used in solve() so that the provided files compile into a program that runs with no failed tests. Submit the source files Maze.java and MinHeap.java.
Submission and Grading
Submit the aforementioned source file(s) via Blackboard as attached file(s). In the case of multiple submis- sions, the last submission before the deadline is graded.
For grading, each submission is compiled with the provided files and run. Submissions that do not run to completion (i.e. fail to print “Assignment complete.”) receive no credit.
Submissions that take an unreasonable amount of time (e.g. more than a minute or so) to run and do not meet the asymptotic efficiency requirements receive no credit. All other submissions receive full credit. See the course late work policy for information about receiving partial credit for late submissions.