实现平衡的二叉搜索树?

Los*_*ost 10 c# algorithm binary-tree binary-search-tree data-structures

我已经实现了一个二叉搜索树,我想在其插入函数中添加更多功能,使其成为一个自平衡树.我在C#编码.

任何人都可以建议我很好的教程或链接吗?我做了一些搜索并找到了一些链接,但它们都没有足够的描述性.

谢谢.

tem*_*def 13

有许多自平衡搜索树的算法,其中许多是复杂的,而其他一些非常简单(尽管有一些警告).

Cormen,Leisserson,Rivest和Stein出版的"算法简介"第二版是对算法的精彩介绍,非常适合红/黑树.它在算法和数据结构方面也是一本很好的书.

如果您对使用极快且实际上非常容易实现的splay树感兴趣,那么数据结构上的原始论文非常容易理解.最重要的是,它包含所有运行时边界的证明.

树堆是一个简单的随机平衡的二叉搜索树,可一旦你知道如何实现是非常容易实现的树旋转.树旋转也用于展开树,因此值得研究.

对于AVL树,这个讲座似乎是一个很好的资源.

希望这可以帮助!