Sale!

CMPT 225 Lab 7: Heaps

$30.00 $18.00

Category: You will Instantly receive a download link for .zip solution file upon Payment || To Order Original Work Click Custom Order?

Description

5/5 - (3 votes)

We will finish an implementation of a heap of strings, and test the implementation. Your heap
should implement a priority queue (where the highest priority item is always removed first). Your
heap should be a min heap, so the root should always contain the string that comes first in
alphabetical order. (By “alphabetical order,” we mean more precisely ASCII lexicographic order.)
Start by downloading the zipfile. It contains:
heap.cpp, which you should fill in
heap.h, a header file that is complete
heap_test.cpp, a test driver that you should not modify
heap_debug.cpp, a debug driver that you can modify to debug your heap
A makefile.
test.py and a set of *.in and *.gt input and ground truth files
Notes
Implementation
You should implement your heap as discussed in lecture. The remove method (and bubbleDown
(downheap)) has been provided. Please write the insert method. Write a separate private bubbleUp
(upheap) method that should be called by your insert method.
Comparing Strings
We are using the C++ strings defined in < string >, std::string (using namespace std you can omit
the std::). If you want to compare two strings you can use the operators >, <, ==, since these are properly overloaded for the string class. Testing Test your Heap class by running the python script test.py. uname@hostname: ~$ ./test.py Please run this for a TA successfully (3 tests passed) to receive your marks for this lab. Debugging Please modify the driver heap_debug.cpp if you wish to add debugging calls. Final versions of Heap methods should not produce any output to cout, since cout's output is used for correctness checks CMPT 225 Lab 7: Heaps www.sfu.ca/~shermer/Teaching/cmpt-225-Summer2019/labs/CMPT225-Lab7.html 2/2 by test.py. If your code fails a test case, you can try running it individually, and comparing it to the corresponding ground truth file. E.g. to run test case 1 and examine its ground truth: uname@hostname: ~$ ./heap_test < 1.in uname@hostname: ~$ more 1.gt