伸展树的原理及实现源代码(有图文详解和C++实现代码)
伸展树(Splay Tree)是一种二叉搜索树,它能在O(log n)内完成插入、查找和删除操作。它由Daniel Sleator和Robert Tarjan创造。它的优势在于不需要记录用于平衡树的冗余信息。在伸展树上的一般操作都基于伸展操作。
为什么需要伸展树(Splay Tree)
各种二叉搜索树存在不足。比如:对于一个有n个节点的平衡二叉搜索树,虽然最坏情况下每次查找的时间复杂度不会超过O(logn),但是如果访...
分类:
编程语言 时间:
2014-11-25 16:30:49
阅读次数:
227
这几天学习了AVL树(平衡二叉搜索树),遂写一篇总结与大家分享。包括五个部分:
一、AVL树(平衡二叉搜索树)是什么?
二、为什么要用AVL树?
三、AVL树的实现原理
四、完整的实现代码(C++和Java)
五、测试程序分析...
分类:
编程语言 时间:
2014-11-22 23:12:49
阅读次数:
492