Advertisement
Guest User

Untitled

a guest
Dec 17th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.34 KB | None | 0 0
  1. class AVLTree extends BSNode {
  2.  
  3. public int getBalanceFactor() {
  4. int leftHight = getLeft() == null ? 0 : getLeft().getHight(),
  5. rightHight = getRight() == null ? 0 : getRight().getHight();
  6.  
  7. return leftHight - rightHight;
  8. }
  9.  
  10. public BSNode rightRotate(BSNode node) {
  11. BSNode nodeLeft = node.getLeft();
  12. node.setLeft(nodeLeft.getRight());
  13. nodeLeft.setRight(node);
  14.  
  15. //Update heights
  16. node.setHeight(Math.max(node.getLeft().getHeight(), node.getRight().getHeight()) + 1);
  17. nodeLeft.setHeight(Math.max(nodeLeft.getLeft().getHeight(), nodeLeft.getRight().getHeight())) + 1);
  18.  
  19. //Return the new parent node
  20. return nodeLeft;
  21. }
  22.  
  23. public BSNode leftRotate(BSNode node) {
  24. //Rote nodes
  25. BSNode nodeRight = node.getRight();
  26. root.setRight(nodeRight.getLeft());
  27. nodeRight.setLeft(node);
  28.  
  29. //Update heights
  30. node.setHeight(Math.max(node.getLeft().getHeight(), node.getRight().getHeight()) + 1);
  31. nodeRight.setHeight(Math.max(nodeRight.getLeft().getHeight(), nodeRight.getRight().getHeight())) + 1);
  32.  
  33. //Return the new parent node
  34. return nodeRight;
  35. }
  36.  
  37. @Override
  38. public void insert(<T> data) {
  39. throw new InvalidArgumentException("This value already exists");
  40. }
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement