5-10 二分搜索树的局限性

二分查找树的性能。二分查找树在一些极端情况下性能并不好。

我们首先要认识下面一个事实:同样的数据,可以对应不同的二分搜索树。看下面的例子。

二分搜索树可以退化为链表。此时时间复杂度变成了 O(n)。

极端测试:如果把 key 排序好以后,依次插入到二分搜索树中,此时二分搜索树的高度就会变得非常高。

解决方案:平衡二叉树,使用红黑树(红黑树是一种平衡二叉树的实现,其它平衡二叉树的实现还有 2-3 tree,AVL tree,Splay tree,平衡二叉树和堆的结合:Treap)。左右两棵子树的高度差不会超过1。

trie。使用 trie 统计词频。

猜你喜欢

转载自blog.csdn.net/lw_power/article/details/78007660