标签: c algorithm binary-tree
我已经有了一个有效的二叉树数据库。不幸的是,它需要有能力平衡自己。我不想重写整个事情,我只想包含一个能平衡树的功能。任何算法或想法?
答案 0 :(得分:2)
AVL和RedBlack树是自平衡树。 您可以遍历原始树并在这些树中插入节点。 之后,您可以保留新树并丢弃原始树。
答案 1 :(得分:2)
我发现斯坦福libavl教程非常有帮助。
查看AVL tree wiki中的示例。
此外,尝试使用网络中提供的AVL树动画,例如
http://www.cs.jhu.edu/~goodrich/dsa/trees/avltree.html或
http://www.strille.net/works/media_technology_projects/avl-tree_2001/或
http://www.site.uottawa.ca/~stan/csi2514/applets/avl/BT.html
答案 2 :(得分:1)
AVL和红黑树是平衡的二叉树。我有一个AVL树的实现。看here。它支持插入和搜索。删除尚未实施。
答案 3 :(得分:0)
寻找像avl red black这样平衡的树木