计算几何中的唯一表示数据结构
1. 动态有序字典
动态有序字典问题旨在维护一个全序集合 $(U, <)$ 的子集 $S \subset U$。我们主要考虑支持插入、删除、前驱($Pred(x, S) = max{e \in S|e < x}$)和后继($Succ(x, S) = min{e \in S|e > x}$)操作。由于后继操作是前驱操作的简单变体,后续我们将主要关注前驱操作。
- 整数键情况 :若键来自整数集合 $U = [m]$,可以使用 Van Emde Boas 等人结构的简单变体,它是唯一表示(UR)的,能在 $O(log log m)$ 的期望时间和 $O(|S|)$ 的空间内支持所有操作。
- 比较模型情况 :在比较模型下,我们可以使用树堆(treap),能在 $O(log |S|)$ 的时间和空间内支持所有操作。在这两种情况下,哈希函数的 $O(1)$ 独立性就足够了。有时我们会为每个元素关联数据。
2. 顺序维护
顺序维护问题(OMP)是要维护 $n$ 个元素的全序 $L$,同时支持以下操作:
- 插入操作 :$Insert(x, y)$,在 $L$ 中元素 $x$ 之后插入新元素 $y$。
- 删除操作 :$Delete(x)$,从 $L$ 中删除元素 $x$。
- 比较操作 :$Compare(x, y)$,判断 $x$ 是否在 $L$ 中先于 $y$。
之前的工作中提出了
超级会员免费看
订阅专栏 解锁全文
2919

被折叠的 条评论
为什么被折叠?



