不是自平衡的二叉搜索树有什么用吗?
Is there any use for a binary search tree that is not self-balanced?
我能找到的所有类型的二叉搜索树都是自平衡的。有没有实际有用的?
不主动执行平衡的每个二叉搜索树可能变得不平衡。
特别是,将(反向)排序序列插入 BST 将导致退化树(本质上是链表):
3 2 1
3
/
2
/
1
和
1 2 3
1
\
2
\
3
我想到的第一个例子是 Rope,一种用于高效存储和编辑长字符串的二叉树,例如在文本编辑器中。
它本身是不平衡的,但是连接和拆分要求树是平衡的。但是每个字符都可以访问 O(log N)
即使在不平衡的树中,所以也许这符合你的问题
我能找到的所有类型的二叉搜索树都是自平衡的。有没有实际有用的?
不主动执行平衡的每个二叉搜索树可能变得不平衡。
特别是,将(反向)排序序列插入 BST 将导致退化树(本质上是链表):
3 2 1
3
/
2
/
1
和
1 2 3
1
\
2
\
3
我想到的第一个例子是 Rope,一种用于高效存储和编辑长字符串的二叉树,例如在文本编辑器中。
它本身是不平衡的,但是连接和拆分要求树是平衡的。但是每个字符都可以访问 O(log N)
即使在不平衡的树中,所以也许这符合你的问题