Implement a dictionary using a Bag—Project 4.7 in the text (modified)
Use the bag ADT provided to create an array-based implementation for bags. Then use your bag to implement the dictionary ADT provided you. This means you have to implement your dictionary using the bag functions.
Test your bag and dictionary implementations with the bagtestmain.cpp file I’ve provided for you. If you are not able to fully implement all the functions of the dictionary and/or bag, you may modify the tests in bagtestmain.cpp to only exercise those functions you were able to complete.
You will only get credit for those methods you test and display, so be sure you don’t leave any out.
Also, you cannot add any public functions to your bag and dictionary implementations beyond those specified in the ADTs, though you may add private functions if you want.
Put the following files into a zip file named student_name_Bag_Assignment and submit them to Blackboard:
Note: If your ABag does not inherit Bag and/or BDictionary does not inherit Dictionary, you will not receive any credit for your work. If you use the templates I’ve provided (ABag.h and BDictionary.h) the inheritance is already done for you.
*** If you completed your assignment using Visual Studios you must use Visual Studios 2017 and I would like you to submit your entire VS project directory.
Your test program must exercise every function of the dictionary. For any function whose functionality is not obvious you must explain in your Word document how your test output demonstrates that function. See me if you have questions.
See Blackboard for the assignment due date and the syllabus for the late policy.
Rubrics (for the 70% content portion):
Start by working on your “Approach” first. Once you are satisfied with your approach, then start building your program incrementally. Start with the bag and increment one feature at a time (you’ll have to stub out the features the ADT requires that you are not ready to implement yet) starting with the constructors and then working your way down the feature list using common sense to figure out which features need to be implemented first. Try your bag out with the various parameter combinations I want you to test with (<int, string> and <string, int>). When you are satisfied the bag is working then move on to the dictionary, again implementing and testing function by function.
Don’t wait until the last minute. You’ll find that many of your problems you will solve while you are away from your computer and have a chance to think about the error you are seeing. This takes time.
Note: KVpair, which uses the == operator for comparing the key values, will only accept objects that have also implemented the == operator. This class has been tested with the following types:
It specifically does not work with the Int type (at least not in the version of C++ I am working with).
A big part of this assignment is debugging your code, so do not expect your instructor to do this for you. Having completed the pre-requisite courses for this class, you should already have some experience finding coding errors and fixing them. This class will give you plenty of opportunities to further refine those skills and you can only do that by wrestling with the problem. Here are some debugging tips:
Implement a Double-Threaded Binary Tree and add in-order and reverse-order printing without resorting to recursion—Project 5.2 in the text
Using the following supplied C++ files implement a right and left threaded binary search tree(see https://algorithms.tutorialhorizon.com/double-threaded-binary-tree-complete-implementation/ for more information on doubly threaded BSTs). The files provided to you come from our text, with some minor modifications, and implement a BST based dictionary. You must modify this BST-based dictionary to implement a threaded BST. Specifically, you will need to make the following modifications:
Put the following files into a zip file and submit your assignment to the assignment link in Blackboard:
Here is an example of my test run showing both printhelp, printInorder, and printReverse:
Put all your files into a single zip file and submit it to Blackboard.
If you look at the standard rubrics, the content portion is worth 70% or 87.5 points out of 125. The rubrics for the content portion of this assignment are:
This is a deceptively challenging project. Do not wait until the last minute to start working on it or you will go crazy (and probably not succeed in finishing your project). I recommend that you start with your Word document and describe your implementation approach and then use that to guide your actual implementation.
Break the project into pieces and think about how you are going to accomplish each piece. Start by getting the BST files I’ve given you running before making any changes to themand be sure you understand how the author has implemented his BST. Then add your Booleaninstance variables to the BSTNode.hfile and implement your setter/getter methods for your threads.
Next start thinking about inserthelp. You pretty much have to gut the entire method and start from scratch. Think about node states and how each state affects the insert operation. For example the state of root when it is the only node in the tree is left and right child equal NULL. How will you add a node to root and implement your successor and predecessor pointers? Now look at the state of the second node. How is it different from the state root was in, and how does that change future insertions? For me it helps drawing the tree out as I build it, so that I can visualize what it is I am attempting to do.
A big part of this assignment is debugging your code, so do not expect your instructor to do this for you. Having completed the pre-requisite courses for this class, you should already have some experience finding coding errors and fixing them. This class will give you plenty of opportunities to further refine those skills and you can only do that by wrestling with the problem. Here are some debugging tips:
Make sure you take full advantage of the debugger in your development environment. Debuggers are invaluable for examining the state of pointers and variables as they make their way through the program.
Implement a disk-based buffer pool class based on the LRU buffer pool replacement strategy.
Implement and demonstrate a disk-based buffer pool class based on the LRU buffer pool replacement strategy. Disk blocks are numbered consecutively from the beginning of the file with the first block numbered as 0. Assume that blocks are 4096 bytes in size. Use the supplied C++ files to implement your LRU Buffer Pool based on the instructions below.
Use main.cpp as the test driver and mydatafile.txt as the input file.
Put the following files into a zip file and submit your assignment to the assignment link in Blackboard:
Put all your source files, test files, executable, and Word document(s) into a zip file and submit it to Blackboard.
Implement the three self-organizing list heuristics:
Compare the cost of each heuristic by keeping track of the number of compares required when searching the list.
Use the SelfOrderedListADT abstract data type and the linked-list files I have provided to implement your self-ordered lists. You may incorporate the author’s linked list implementation via inheritance or composition, which ever makes the most sense to you (I will not evaluate that aspect of your implementation). You are allowed to make changes to any of the files I have provided, except SelfOrderedListADT and test.txt, to make your implementation of SelfOrderedListADT cleaner. The same applies to the link.h (the link node implementation). You may not change SelfOrderedListADT or test.txt files.
I want you to run two tests
Here is a sample of a test run using strings (this sample was not run using the test file I’ve assigned you, so the values you see are not the same as those you should be seeing):
Make sure that you give me enough screen shots so that I can see your entire run. You will be penalized if you do not.
SelfOrderedListADT Functions:
To receive credit for this assignment you must submit the following files in a zip file to Blackboard:
To earn any credit at all you must submit a working program that implements and demonstrates at least one of the heuristics. You must also include all the files I asked for above or you will not receive any credit. You must also use the SelfOrderedListADT I have provided (unchanged) by establishing an inheritance relationship between your self-ordered list(s) and the ADT. Failure to do so will disqualify your project and you will not receive any credit for it.
The rubrics below reflect just the content portion of the assignment rubrics (70% of the total point value of 125 points).

![[SOLVED] Csis 215 programming assignments 1 to 4 solution](https://assignmentchef.com/wp-content/uploads/2022/08/downloadzip.jpg)

![[Solved] 605.202 Data Structures and Algorithms LAB 1](https://assignmentchef.com/wp-content/uploads/2022/08/downloadzip-1200x1200.jpg)
Reviews
There are no reviews yet.