有没有一种方法来构建平衡的二叉搜索树?
例:
1 2 3 4 5 6 7 8 9
5
/ \
3 etc
/ \
2 4
/
1
Run Code Online (Sandbox Code Playgroud)
我想有一种方法可以做到这一点,而不使用更复杂的自平衡树.否则我可以自己做,但有人可能已经这样做了:)
谢谢你的回答!这是最后的python代码:
def _buildTree(self, keys):
if not keys:
return None
middle = len(keys) // 2
return Node(
key=keys[middle],
left=self._buildTree(keys[:middle]),
right=self._buildTree(keys[middle + 1:])
)
Run Code Online (Sandbox Code Playgroud)