Learning Goals¶
-
Integrate multiple ADTs and data structures to solve a problem with complex requirements.
Due to the specific runtime requirements of this heap implementation, our solution will need to creatively combine different ADTs and data structures to design a better solution.
-
Plan the implementation of a data structure and its invariants.
At a high level, it’s necessary to determine the invariants that a data structure should maintain before and after every method call, and at a low level, it’s useful to determine how these invariants affect the shared functionality that can be extracted into helper methods. In the process, it may also be necessary to consider which of the invariants these helper methods themselves require in order to function correctly.
Getting the Assignment¶
Task
Grab your partner(s) and set off on a new journey together!
If you are working in a group, consider scheduling a time to go over the spec together and discuss how to collaborate on the project. Like previous projects, one person should also add the other person to their repo as a collaborator, so that everyone has access to the source code.
Task
Pull the skeleton repository in IntelliJ to get the heap
assignment.
Pull the repo similar to how you did it for the deques assignment:
If IntelliJ doesn’t react to the new folder for whatever reason, refresh Gradle manually through the Gradle tool window (on the right by default):
Subpages
- Programming - Complete the programming portion of the assignment.