ResearchTrend.AI
  • Papers
  • Communities
  • Events
  • Blog
  • Pricing
Papers
Communities
Social Events
Terms and Conditions
Pricing
Parameter LabParameter LabTwitterGitHubLinkedInBlueskyYoutube

© 2025 ResearchTrend.AI, All rights reserved.

  1. Home
  2. Papers
  3. 2208.09809
22
11

Parallel Longest Increasing Subsequence and van Emde Boas Trees

21 August 2022
Yan Gu
Ziyang Men
Zheqi Shen
Yihan Sun
Zijin Wan
ArXivPDFHTML
Abstract

This paper studies parallel algorithms for the longest increasing subsequence (LIS) problem. Let nnn be the input size and kkk be the LIS length of the input. Sequentially, LIS is a simple problem that can be solved using dynamic programming (DP) in O(nlog⁡n)O(n\log n)O(nlogn) work. However, parallelizing LIS is a long-standing challenge. We are unaware of any parallel LIS algorithm that has optimal O(nlog⁡n)O(n\log n)O(nlogn) work and non-trivial parallelism (i.e., O~(k)\tilde{O}(k)O~(k) or o(n)o(n)o(n) span). This paper proposes a parallel LIS algorithm that costs O(nlog⁡k)O(n\log k)O(nlogk) work, O~(k)\tilde{O}(k)O~(k) span, and O(n)O(n)O(n) space, and is much simpler than the previous parallel LIS algorithms. We also generalize the algorithm to a weighted version of LIS, which maximizes the weighted sum for all objects in an increasing subsequence. To achieve a better work bound for the weighted LIS algorithm, we designed parallel algorithms for the van Emde Boas (vEB) tree, which has the same structure as the sequential vEB tree, and supports work-efficient parallel batch insertion, deletion, and range queries. We also implemented our parallel LIS algorithms. Our implementation is light-weighted, efficient, and scalable. On input size 10910^9109, our LIS algorithm outperforms a highly-optimized sequential algorithm (with O(nlog⁡k)O(n\log k)O(nlogk) cost) on inputs with k≤3×105k\le 3\times 10^5k≤3×105. Our algorithm is also much faster than the best existing parallel implementation by Shen et al. (2022) on all input instances.

View on arXiv
Comments on this paper