The online list labeling problem is an algorithmic primitive with a large literature of upper bounds, lower bounds, and applications. The goal is to store a dynamically-changing set of $n$ items in an array of $m$ slots, while maintaining the invariant that the items appear in sorted order, and while minimizing the relabeling cost, defined to be the number of items that are moved per insertion/deletion. For the linear regime, where $m = (1 + \Theta(1)) n$, an upper bound of $O(\log^2 n)$ on the relabeling cost has been known since 1981. A lower bound of $\Omega(\log^2 n)$ is known for deterministic algorithms and for so-called smooth algorithms, but the best general lower bound remains $\Omega(\log n)$. The central open question in the field is whether $O(\log^2 n)$ is optimal for all algorithms. In this paper, we give a randomized data structure that achieves an expected relabeling cost of $O(\log^{3/2} n)$ per operation. More generally, if $m = (1 + \varepsilon) n$ for $\varepsilon = O(1)$, the expected relabeling cost becomes $O(\varepsilon^{-1} \log^{3/2} n)$. Our solution is history independent, meaning that the state of the data structure is independent of the order in which items are inserted/deleted. For history-independent data structures, we also prove a matching lower bound: for all $\epsilon$ between $1 / n^{1/3}$ and some sufficiently small positive constant, the optimal expected cost for history-independent list-labeling solutions is $\Theta(\varepsilon^{-1}\log^{3/2} n)$.
翻译:在线列表标签问题是一个原始的算法, 其文献中含有大量的上界、 下界和应用程序。 目标是将一组动态变化的美元项目存储在以美元计位的阵列中, 同时保持项目按排序顺序显示的不变值, 并同时将重新标签成本最小化, 定义为每个插入/ 删除移动的项目数量 。 对于线性制度来说, $= 1 +\ Theta(1) n$, 重新标签成本上限为$( log2 n) 。 自1981年以来, 独立地知道重标签成本上限为$( log2 n) 。 在确定性算法和所谓的光滑动算法中, 最普通的下界仍然是$( 美元) (log2 n) 美元 (log2 n) 。 在本文中, 我们给出一个随机化的数据结构, 在美元 =历史结构( 1\\\ = 历史值) 的预期成本中, 美元( = 美元) 美元( = 历史) 预估算。