寻找继任者,前任比BST更快

时间:2014-09-11 08:55:40

标签: algorithm time-complexity binary-search-tree

我正在寻找具有以下属性的数据结构: 对于整数列表(例如x> 1,x< U,其中U是大整数)。

它可以执行:predecessor(x)successor(x)insert(x)delete(x)

这可以用二叉搜索树实现,所有操作都是O(log n)。好吧,据我的教授说,这可以用successor和前任在O(log log U)时间实现,insertdelete在O(log U)时间实现。

它需要一个大小为U的数组和一个二叉搜索树。有谁知道这个算法是什么?

1 个答案:

答案 0 :(得分:2)

结帐Y-Fast TrieX-Fast Trie

我相信这些都是你要找的。

来自维基百科

Y-Fast Trie:

  

在计算机科学中,y-fast trie是用于存储来自有界>的整数的数据结构。 >域。它使用O(n)>支持时间O(log log M)中的精确和前任或后继查询。 space,其中n是存储值的数量,M是域中的最大值。

X-Fast Trie:

  

在计算机科学中,x-fast trie是用于存储来自有界>的整数的数据结构。域。它使用O(n> log M)空间支持时间O(log log M)中的精确和前任或后继查询,其中n是存储值的数量,M是域中的最大值。