我们有一个集合中的元素列表。中的每个元素都显示在L中的单个列表中。我正在寻找可以执行以下更新的数据结构:
:将包含y的列表连接到包含x的列表的末尾
:含有分割列表后直接
它还需要执行以下查询:
:返回,如果和是在同一列表和后自带(但不一定是相邻的)
:返回包含x的列表的第一个元素
:返回下一个元素后在含列表
我已经想出了一个数据结构,该结构在O(lg ^ 2(n))中执行这些更新,并在时间内进行查询。我最感兴趣的是是否已经有一个数据结构可以做到这一点(希望更快吗?)。
动机:可以用其中的两个列表集来表示有根的定向森林,它们可以快速计算此类森林的可达性。我想看看它们还有什么用,如果所有这些都已知。