Question: I need to solve as data structures selection method 3 & 5 with hashtables (c) Instructions: 1- This is a teamwork project, each team should

Instructions: 1- This is a teamwork project, each team should be two students. 2- The work should be your own, otherwise you will get zero and the case will be reported to the department. 3- No grade without presenting your work. 4. Only one student should submit the work, put team names as comments in the beginning of the class that has the main method. 5- The deadline is 24/12/2022 As a data structures expert, you are required to design a new data structure (as ADT) that combines two data structures in order to optimize the process of students" records at Qatar University (QU) in terms of inserting. deleting, and searching. Assume each student has an ID, name, GPA. Notes that the student's ID at QU is composed of the year of admission and the student number, therefore you should utilize this to optimize the process of students" records during searching, inserting, and deleting. Assume the system will be used to process the data of students who were admitted since 2000. Your proposed data structure should have the following basic operations: - Insert: to add a new student's record. - Search student: to search for a student by his/her ID. The method should return the student record or return null if it is not found. - Search year: to search for all students registered in given year. The method should retum all students' records or return null if it is not found. - Delete: to delete a student by his/her ID. The method should return true if the student is deleted, false if it is not found. - Print: to print all student information in the system. These are some examples of combined data structures that you need to select one of them: a) Hash table where each element is a tree. Each tree holds students' data of a specific year. b) Nested hash table. Each table holds students' data of a specific year. c) Tree of hash tables. Each node in the tree holds student's data of a specific year. (a) (b) (c) Your solution should be the optimized one comparing to the rest options in terms of time and memory. After implementing the proposed data structure, you are required to develop an application that will interact with the user. It displays the following menu: Enter your choice: 1- Add new student. 2- Search for a student. 3- Search for all students in specific years 4- Delete a student. 5- Print all students. 6- Exit - When the user selects 1, your application should ask for student's ID, name, and GPA, then insert that record to the data structures. - When the user selects 2, your application should ask for student's ID, if the student is already in the system, your application should display his/her name, and his/her GPA. If not, it should display "Student not found". - When the user selects 3, your application should ask for year, if the year is already in the system, your application should display detail information for all students. If not, it should display "No student are in this year". - When the user selects 4, your application should ask for a student's ID, if the student's record is in the system, it should be deleted, otherwise, it should display "Student not found". - When the user selects 5, your application should print detail information for all students. - When the user selects 6 , your application should save the data structure object to a file (Object serialization) Note: when your application starts, it should search for the file (if it exists) that contains the data structure object and upload it to memory. There will be no file when we execute the application for the first time. Instructions: - You need to submit your code as exported project. - You need to submit screenshots of your application execution. - You need to submit a PDF file contains your justification for your selection and compare it to the others in terms of advantage and disadvantage based on: memory, time, or any limitation
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
