NOTE WELL -- The challenge problem text (i.e., references made) refer to this chapter and previous chapters, unless otherwise noted.
Implement a BST class that conforms to the required headers.
General Rules:
- You may choose either Java or JavaScript for coding
- Name the binary search tree class "BST"
- The BST class must implement (meet) the BST ADT -- all methods in the ADT must be coded excluding the "optional" group -- as a minimum least stub them in so your code runs.
- The BST class must include the provided "Required Headers" (previous chapter). Coded headers must match (exactly) those specified (object users/grader will be using the same headers)
- The BST should allow duplicates and a duplicate should be placed to the right of its matching element
- The tree should maintain balance (i.e., auto-balance) -- for related coding strategy hint, see Coding Tips
- Code is basically coder's choice as long as it implements BST concepts and meets the expected Big-O performance
- Your code may include any number of "additional/helper" methods (coder's choice)
Context Rules (What other code can be used):
- The available context for this challenge is any of the object types you coded from previous chapters
- Other data structure classes (e.g., from code libraries like Java, JS) are not allowed