我正在寻找具有以下属性的数据结构: 对于整数列表(例如x> 1,x< U,其中U是大整数)。
它可以执行:predecessor(x)
,successor(x)
,insert(x)
,delete(x)
。
这可以用二叉搜索树实现,所有操作都是O(log n)。好吧,据我的教授说,这可以用successor
和前任在O(log log U)时间实现,insert
和delete
在O(log U)时间实现。
它需要一个大小为U的数组和一个二叉搜索树。有谁知道这个算法是什么?
答案 0 :(得分:2)
我相信这些都是你要找的。 p>
来自维基百科:
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是域中的最大值。