mirror of
https://github.com/TheAlgorithms/Python.git
synced 2024-11-24 05:21:09 +00:00
Rotate left and right done
This commit is contained in:
parent
3ead193f0e
commit
0b7d3a5c97
|
@ -49,10 +49,6 @@ class AVL:
|
||||||
self.root = None
|
self.root = None
|
||||||
self.size = 0
|
self.size = 0
|
||||||
|
|
||||||
# def __init__(self, root):
|
|
||||||
# self.root = root
|
|
||||||
# self.size = 1
|
|
||||||
|
|
||||||
def insert(self, value):
|
def insert(self, value):
|
||||||
node = Node(value)
|
node = Node(value)
|
||||||
if self.root is None:
|
if self.root is None:
|
||||||
|
@ -91,13 +87,40 @@ class AVL:
|
||||||
break
|
break
|
||||||
|
|
||||||
def rebalance(self, node):
|
def rebalance(self, node):
|
||||||
|
if (node.getRight().getHeight() -
|
||||||
|
node.getLeft.getHeight() > 1):
|
||||||
|
if (node.getRight().getHeight() >
|
||||||
|
node.getLeft.getHeight()):
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
pass
|
||||||
|
pass
|
||||||
|
elif (node.getRight().getHeight() -
|
||||||
|
node.getLeft.getHeight() > 2):
|
||||||
|
if (node.getRight().getHeight() >
|
||||||
|
node.getLeft.getHeight()):
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
pass
|
||||||
|
pass
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def rotate_left(self, node):
|
def rotate_left(self, node):
|
||||||
pass
|
# TODO: is this pythonic enought?
|
||||||
|
aux = node.getLabel()
|
||||||
|
node = aux.getRight()
|
||||||
|
node.setHeight(node.getHeight() - 1)
|
||||||
|
node.setLeft(Node(aux))
|
||||||
|
node.getLeft().setHeight(node.getHeight() + 1)
|
||||||
|
node.getRight().setHeight(node.getRight().getHeight() - 1)
|
||||||
|
|
||||||
def rotate_right(self, node):
|
def rotate_right(self, node):
|
||||||
pass
|
aux = node.getLabel()
|
||||||
|
node = aux.getLeft()
|
||||||
|
node.setHeight(node.getHeight() - 1)
|
||||||
|
node.setRight(Node(aux))
|
||||||
|
node.getLeft().setHeight(node.getHeight() + 1)
|
||||||
|
node.getLeft().setHeight(node.getLeft().getHeight() - 1)
|
||||||
|
|
||||||
def double_rotate_left(self, node):
|
def double_rotate_left(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
Loading…
Reference in New Issue
Block a user