Write a class AVLComparator which implements comparator and is used to compare t
ID: 3839400 • Letter: W
Question
Write a class AVLComparator which implements comparator and is used to compare two AVLNode instances. Note that one (or both) instances might be null. Treat null instances as if they have a leaf Distance of -1. Your method will need to return that the instances are equal if their leafDistances differ by -1, 0 or 1. Otherwise, the return value should identify the larger parameter as normal//My solution public class AVLComparator implements Comparator {public int compare (AVLN ode ani, AVLNode an2) {int an1LD = -1; int an2LD = -1; if (left != null) {an1LD = left.leaf Distance ();} if (right != null) {an2LD = right.leaf Distance();} if ((an1LD == an2LD) || (an1LD + 1 == an2LD) || (an1LD = an2LD + 1)) {return 0;} return an1LD - an2LD;}}Explanation / Answer
See,
Lets get o basic forst before going intpo Code ...We know that AVL tree is balanced if the balance factor lies between -1. 0, 1 i.e
The difference between left and right subtree should be ABS(Balancefactor) <=1
Coming to the Code
Now we declare AVL companrator that impkements comparator function to check whehetr the Tree is balanced or NOT
1. We take Two AVL node of Tree i.e Node 1 and Node 2
2. Find the leaf Distance of left and right Node.
3. If they are equal or differ by 1 i.e the difference falls between any of these numbers -1, 0, 1 then just return 0
4. Otherwise return the actual distance like -2, 2, 3, 4 etc
Thanks, let me know if there is any concern.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.