Advertisement
natalierey

Untitled

Feb 1st, 2016
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.71 KB | None | 0 0
  1. public static Tree balance(Tree a)
  2. {
  3. if (a.getEmpty())
  4. {
  5. return a;
  6. }
  7. else if (a.getLeft().getEmpty() && a.getRight().getEmpty())
  8. {
  9. return a;
  10. }
  11.  
  12. Tree leftSubTree = balance(a.getLeft());
  13. Tree rightSubTree = balance(a.getRight());
  14.  
  15. Tree b = new Tree(a.getValue(), leftSubTree, rightSubTree);
  16.  
  17. if (b.getLeft().getHeight() - b.getRight().getHeight() == 0 || b.getLeft().getHeight() - b.getRight().getHeight() == 1)
  18. {
  19. return b;
  20. }
  21. else if (b.getLeft().getHeight() - b.getRight().getHeight() >= 2)
  22. {
  23. return rotateRight(b);
  24. }
  25. else
  26. {
  27. return rotateLeft(b);
  28. }
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement