$24
Homework 7: AVL Trees
Due: See Canvas
Methods:
add
19pts
remove
24pts
get
5pts
contains
5pts
predecessor
8pts
kSmallest
6pts
clear
2pts
height
2pts
constructor
4pts
Other:
Checkstyle
10pts
Efficiency
15pts
Total:
100pts
Provided
The following file(s) have been provided to you. There are several, but we’ve noted the ones to edit.
AVL.java
This is the class in which you will implement the AVL. Feel free to add private helper methods but do not add any new public methods, inner/nested classes, instance variables, or static variables.
AVLNode.java
This class represents a single node in the AVL. It encapsulates the data, height, balanceFactor, and left and right references. Do not alter this file.
AVLStudentTests.java
This is the test class that contains a set of tests covering the basic operations on the AVL class. It is not intended to be exhaustive and does not guarantee any type of grade. Write your own tests to ensure you cover all edge cases.
Deliverables
You must submit all of the following file(s) to the course Gradescope. Make sure all file(s) listed below are in each submission, as only the last submission will be graded. Make sure the filename(s) matches the filename(s) below, and thatonly the following file(s) are present. If you resubmit, be sure only one copy of each file is present in the submission. If there are multiple files, do not zip up the files before submitting; submit them all as separate files.
Once submitted, double check that it has uploaded properly on Gradescope. To do this, download your uploaded file(s) to a new folder, copy over the support file(s), recompile, and run. It is your sole responsibility to re-test your submission and discover editing oddities, upload issues, etc.
AVL.java
5