Programming Assignment 3
Programming Assignment 3
Plagiarism Policy:
1. Students must not share the actual program code with other students.
2. Students must be prepared to explain any program code they submit.
3. Students cannot copy code from the Internet.
4. Students must indicate any assistance they received.
5. All submissions are subject to automated plagiarism detection.
6. Students are strongly advised that any act of plagiarism will be
reported to the Disciplinary Committee
Task-1: Double Hashing (30 Marks)
In this task you will be implementing Double Hashing. For the HashTable class, a
constructor and HashFunctions are already defined and implemented for you. The
functions that you need to implement are:
Don’t hard code. Hidden test cases will be used for the final testing.
Task-2: B+ Trees (70 Marks)
Part A: (60 marks)
In this part you will be implementing a B+ tree. You have been given a BPlusTree.h file
and a BPlusTree.cpp file with the starter code.
You have been given a struct BPlusNode which represents one node of the B+ tree.
Each node has a vector for keys, a vector for values and a pointer to the children of
that node.
The constructors and destructors code is already given to you. The functions you need
to implement are:
The text file for this task has been given to you. Please note that the output from the
test file will be checked along with your code so do not hard code.
To test the implementation of your code, compile and run the test files using the
following commands in WSL:
PART 1:
PART 2:
Also make sure you are in the correct folder as each task has its own folder.
Submission guidelines:
You only have to submit .cpp files for both tasks. If you add any helper function in the
header files then you may submit those as well.
Zip the complete folder and use the following naming convention:
PA3_<roll number>.zip
For example, if your roll number is 25100018 then your zip file name should:
PA3_25100018.zip
If you submit your work late for any assignment once your 5 “free” late days
are used, the following penalty will be applied:
● 10% for work submitted up to 24 hours late
● 20% for work submitted up to 2 days late
● 30% for work submitted up to 3 days late
● 100% for work submitted after 3 days (i.e., you cannot submit
assignments more than 3 days late after you have used your 5 free
late days.