Question: 1. Design and implement an AVL Tree Node class that must support findMin, insert and remove operations. In Java 2. Design and implement a driver
1. Design and implement an AVL Tree Node class that must support findMin, insert and remove operations. In Java
2. Design and implement a driver (the main method) that does the following:
(a) Creates an array that contains a list of 5000 integers, in a random order, from 0 to to 4098.
(b) AVL-insert, into the first AVL tree that is initially empty, the numbers in the array sequentially from the start to the end.
(c) Initialize the second empty AVL tree.
(d) Enter a forever while loop to do the following:
i. Call findMin to find the node with the smallest value.
ii. Call Remove to remove the smallest value from the first AVL tree, and display The process with a priority of %d is now scheduled to run!
iii. For the removed value, change it to a random value between 0 and 4098.
iv. Call Insert to insert the removed value (now changed to a different value in the previous step) to the second AVL tree, and display The process with a priority of %d has run out of its timeslice!
v. When the first AVL tree becomes empty, display Every process has got a chance to run; Please press Enter to start the next round!
vi. When Enter is pressed, swap the two AVL trees, and continue the loop.
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
