DataStructure FALL 2024 Assignment3
DataStructure FALL 2024 Assignment3
Assignment #03
1 Objective
You have been provided a data set of Players and the games they play. Each player
will have his own primary key (Player ID) and each game will have its own primary
key (Game ID) to identify the different games and players. Your Boss needs a database
management system that he can use on console to filter out certain queries that he told
you beforehand will be needed by the company.
To ensure the code has version control, the Boss has asked you to use GitHub while
making this project, as well as creating a Readme.md where you report on how you made
the project, your thought process and logic behind each task, and the time complexity
of each task in your code. Make sure to commit work regularly as it may be checked
whether the commits were meaningful or just tactics.
Note: Some of the tasks are prerequisites to the latter tasks, so any problems in
the implementation of such a task may cause issues for other tasks. Therefore, ensure
each task is completed carefully to avoid any conflicts. Optimize your code in terms of
time and complexity. The code should be dynamic; any sign of hardcoded tasks where
dynamic solutions should be used will be penalized. Additionally, the code should be
written in a way that it can be modified for future use and improvements. Comments
should be added to the code, but only where necessary, explaining the logic behind the
workings rather than generic comments.
1.2 Insertion
The system should allow insertion into the dataset for both players and games in their
appropriate data structures. The insertion query must check for conflicts, and display an
error if the primary key of the object being inserted already exists.
1.4 Deletion
The system should allow the deletion of any entry from memory and ensure no memory
leaks occur as a result.
FAST NUCES CS218: Data Structures (Fall 2024)
Assignment #03
• Use classes for your solution. No marks will be awarded for code that does not
use object-oriented programming principles.
• Zero marks will be given for code that crashes (e.g., segmentation fault) or cannot
compile due to syntax errors.
• Plagiarism will result in zero marks for both parties involved. Copying from the
internet is strictly prohibited.
• You are not allowed to use LLMs for code generation; however, you can use them
for learning. If you do so, you must remember the prompts for the demo day.
• Deadline: October 30, 2024, 11:59 PM. Late submissions will not be accepted.