balance wrong property
alexeykarnachev opened this issue · 2 comments
alexeykarnachev commented
It looks like a typo in lob.py (436:447).
if self.balance_factor > 1:
# right is heavier
if self.right_child.balance < 0:
# right_child.left is heavier, RL case
self._rl_case()
elif self.right_child.balance > 0:
# right_child.right is heavier, RR case
self._rr_case()
elif self.balance_factor < -1:
# left is heavier
if self.left_child.balance < 0:
# left_child.left is heavier, LL case
self._ll_case()
elif self.left_child.balance > 0:
# left_child.right is heavier, LR case
self._lr_case()
Should be changed to
if self.balance_factor > 1:
# right is heavier
if self.right_child.balance_factor < 0:
# right_child.left is heavier, RL case
self._rl_case()
elif self.right_child.balance_factor > 0:
# right_child.right is heavier, RR case
self._rr_case()
elif self.balance_factor < -1:
# left is heavier
if self.left_child.balance_factor < 0:
# left_child.left is heavier, LL case
self._ll_case()
elif self.left_child.balance_factor > 0:
# left_child.right is heavier, LR case
self._lr_case()
Because there is no such property "balance", but only "balance_factor"
deepbrook commented
You are correct. Thanks for reporting! I'll get on it right away.