如何平衡二叉树

时间:2010-10-22 02:28:36

标签: c algorithm binary-tree

我已经有了一个有效的二叉树数据库。不幸的是,它需要有能力平衡自己。我不想重写整个事情,我只想包含一个能平衡树的功能。任何算法或想法?

4 个答案:

答案 0 :(得分:2)

AVL和RedBlack树是自平衡树。 您可以遍历原始树并在这些树中插入节点。 之后,您可以保留新树并丢弃原始树。

答案 1 :(得分:2)

我发现斯坦福libavl教程非常有帮助。

查看AVL tree wiki中的示例。

此外,尝试使用网络中提供的AVL树动画,例如

答案 2 :(得分:1)

AVL和红黑树是平衡的二叉树。我有一个AVL树的实现。看here。它支持插入和搜索。删除尚未实施。

答案 3 :(得分:0)

寻找像avl red black这样平衡的树木