Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class AVLTree extends BSNode {
- public int getBalanceFactor() {
- int leftHight = getLeft() == null ? 0 : getLeft().getHight(),
- rightHight = getRight() == null ? 0 : getRight().getHight();
- return leftHight - rightHight;
- }
- public BSNode rightRotate(BSNode node) {
- BSNode nodeLeft = node.getLeft();
- node.setLeft(nodeLeft.getRight());
- nodeLeft.setRight(node);
- //Update heights
- node.setHeight(Math.max(node.getLeft().getHeight(), node.getRight().getHeight()) + 1);
- nodeLeft.setHeight(Math.max(nodeLeft.getLeft().getHeight(), nodeLeft.getRight().getHeight())) + 1);
- //Return the new parent node
- return nodeLeft;
- }
- public BSNode leftRotate(BSNode node) {
- //Rote nodes
- BSNode nodeRight = node.getRight();
- root.setRight(nodeRight.getLeft());
- nodeRight.setLeft(node);
- //Update heights
- node.setHeight(Math.max(node.getLeft().getHeight(), node.getRight().getHeight()) + 1);
- nodeRight.setHeight(Math.max(nodeRight.getLeft().getHeight(), nodeRight.getRight().getHeight())) + 1);
- //Return the new parent node
- return nodeRight;
- }
- @Override
- public void insert(<T> data) {
- throw new InvalidArgumentException("This value already exists");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement