Question 1: Computer repair Priority Queue System
Write a program that implements a binary heap and binary search tree data structure to manage a list of job requests in a computer repair shop.
The program shall fulfill the following requirements:
- Design a binary heap data structure to store a list of job requests. Each job request consists of request id, description, priority and status.
- Provide a menu that allows a user to perform the following operations until the option 4 (exit) is selected:
- Add a new job request
- Retrieve a job
- View job sumarry
- Exit
- If user selects option 1 (Add a new job request), the program shall add a new job request (0 value in status to represent new request) into the binary heap. Allow user to assign appropriate priority for the job (1-5. 1 for high and 5 for low).
- If user selects option 2(Retrieve a job request), the program shall retrieve the highest priority job from the binary heap and move it into a binary search tree (use request id as the key in binary search tree) and update the status to 1(close).
- If user selects option 3 (View job summary), the program shall display a list of jobs’ information (in tabular format) based ont the job status (0 or 1) entered by user.
- The program shall demonstrate a good OOP design, data validation and error handling
Answer Preview
Need the complete answer?