In this project, you will:
This assignment has three parts:
Here are some baseline expectations you should meet in all projects:
Follow the course collaboration policies.
DO NOT use or import any classes from
java.util.*
. There are only two exceptions to this rule:
You may import and use the following classes:
java.util.Iterator
java.util.NoSuchElementException
java.util.Objects
java.util.Arrays
You may import and use anything from java.util.*
within your testing code.
DO NOT make modifications to instructor-provided code (unless told otherwise). If you need to temporarily change our code for debugging, make sure to change it back afterwards.
This project is split up into three parts. Part 1 is about heaps, Part 2a is meant to give you more practice working with dictionaries and sets, and Part 2b is meant to give you practice working with graphs.
One important thing to note is that you will in general be given very few tests on all three parts. This is intentional and is meant to help you develop strong debugging and testing skills. We strongly encourage you to add your own tests to supplement the ones you were given.
Part 1: Heaps, sorting, and testing
Due Thursday, May 16 at 11:59pm.
Submit by pushing your code to GitLab. If you intend to submit late, fill out this late submission form when you submit.
Part 2a: Searching using TF-IDF
Due Wednesday, May 22 at 11:59pm.
Submit by pushing your code to GitLab. If you intend to submit late, fill out this late submission form when you submit.
Part 2b: Implementing PageRank
Due Wednesday, May 22 at 11:59pm.
Submit by pushing your code to GitLab. If you intend to submit late, fill out this late submission form when you submit.