Method: BiDimensionalTree#balance_vert
- Defined in:
- lib/bi-dimensional-access.rb
#balance_vert(node = @root) ⇒ Object
Balance the tree
165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 |
# File 'lib/bi-dimensional-access.rb', line 165 def balance_vert(node = @root) unless balanced_vert_helper(node) balance_vert_helper(node, node) end unless node.east.nil? unless balanced_vert_helper(node.east) node.east = balance_vert_helper(node.east, node.east) else balance_vert(node.east) end end unless node.west.nil? unless balanced_vert_helper(node.west) node.west = balance_vert_helper(node.west, node.west) else balance_vert(node.west) end end end |