MCPcopy
hub / github.com/Jack-Lee-Hiter/AlgorithmsByPython / rotateRight

Method rotateRight

AVL.py:110–126  ·  view source on GitHub ↗
(self, rotRoot)

Source from the content-addressed store, hash-verified

108 newRoot.balanceFactor = newRoot.balanceFactor + 1 + max(rotRoot.balanceFactor, 0)
109
110 def rotateRight(self, rotRoot):
111 newRoot = rotRoot.leftChild
112 rotRoot.leftChild = newRoot.rightChild
113 if newRoot.rightChild != None:
114 newRoot.rightChild.parent = rotRoot
115 newRoot.parent = rotRoot.parent
116 if rotRoot.isRoot():
117 self.root = newRoot
118 else:
119 if rotRoot.isRightChild():
120 rotRoot.parent.rightChild = newRoot
121 else:
122 rotRoot.parent.rightChild = newRoot
123 newRoot.rightChild = rotRoot
124 rotRoot.parent = newRoot
125 rotRoot.balanceFactor = rotRoot.balanceFactor + 1 - min(newRoot.balanceFactor, 0)
126 newRoot.balanceFactor = newRoot.balanceFactor + 1 + max(rotRoot.balanceFactor, 0)
127
128 def rebalance(self, node):
129 if node.balanceFactor < 0:

Callers 1

rebalanceMethod · 0.95

Calls 2

isRootMethod · 0.45
isRightChildMethod · 0.45

Tested by

no test coverage detected