中文

均匀链表收缩

数据结构与算法 2021-01-08 v3 分布式、并行与集群计算

摘要

我们提出一种用于链表收缩的并行算法(EREW PRAM 算法)。我们证明,当我们将一个链表从大小 nn 收缩到大小 n/cn/c(其中 cc 为合适常数)时,我们可以在给链表 3 染色的时间内将其打包进大小为 n/dn/d 的数组,其中常数 1<dc1 < d\leq c。因此,对于一组总元素数为 nn 且最长链表有 ll 个元素的链表,我们的算法在 EREW PRAM 上用 pp 个处理器在 O(nlogi/p+(log(i)n+logi)loglogl+logl)O(n\log i/p+(\log^{(i)}n+\log i )\log \log l+ \log l) 时间内完成收缩,其中 ii 为任意可构造整数,且 log(1)n=logn\log^{(1)} n =\log nlog(t)n=loglog(t1)n\log^{(t)}n=\log \log^{(t-1)} nlogn=min{ilog(i)n<10}\log^*n=\min \{ i|\log^{(i)} n < 10\}。当 ii 为常数时,我们得到时间 O(n/p+log(i)nloglogl+logl)O(n/p+\log^{(i)}n\log \log l+\log l)。因此当 l=Ω(log(c)n)l=\Omega (\log^{(c)}n)(对任意常数 cc)时,我们达到 O(n/p+logl)O(n/p+\log l) 时间。此前最佳的确定性 EREW PRAM 算法时间为 O(n/p+logn)O(n/p+\log n),最佳的 CRCW PRAM 算法时间为 O(n/p+logn/loglogn+logl)O(n/p+\log n/\log \log n+\log l)。关键词:并行算法,链表,链表收缩,均匀链表收缩,EREW PRAM。

关键词

引用

@article{arxiv.2002.05034,
  title  = {Uniform Linked Lists Contraction},
  author = {Yijie Han},
  journal= {arXiv preprint arXiv:2002.05034},
  year   = {2021}
}