Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: THEend8_
COMP 8042
All work should be done individually. 1. (25 points) Modify the the CuckooHashTable class in the CuckooHashing.h file to implement a cuckoo hash, as described in class and chapter 5 of the textbook. 2. (20 points) Complete the implementation of the GetMinDegIndex() and TopologicalSort() functions in the Graph.h file to implement a topological sort on a graph, as covered in class and chapter 9 of the textbook. 3. (55 points) Sudoku is a logic-based, combinatorial number-placement puzzle. In classic sudoku, the objective is to fill a 9 × 9 grid with digits so that each column, each row, and each of the nine 3 × 3 subgrids that compose the grid (also called “boxes”, “blocks”, or “regions”) contain all of the digits from 1 to 9. The puzzle setter provides a partially completed grid, which for a well-posed puzzle has a single solution. [Wikipedia] The goal of this exercises is to develop a solver for a 9 × 9 sudoku puzzle using what you have learned in chapter 10 of textbook (algorithm design techniques). For that matter, you are allowed to think of any algorithm design technique that fits this problem. You will need to explain what technique you have chosen and how it had helped you solve the problem in the source code itself. Make sure to comment each change in your code clearly so it is easy to see what you have changed. Also please do not change the return types of the functions and do not add any cout calls in the 3 files you submit (you can add them while working on the solution but please remove them before submission). - Submit the completed Graph.h, CuckooHashing.h and Sudoku.h files (along with any other necessary file that you had to implement and use) in a single ZIP file called A00######.zip to D2L, where A00###### is your A00 number. You do not need to prepare a report file. You also will not need to submit COMP8042A2Test.cpp since I will use another hidden test file which is different from this one. Make sure you test all the corner cases for each problem. - Important grading point: if your final submission takes more than 2 minutes to run, your submission will timeout and you will not receive a grade.