English

Improving Order with Queues

Data Structures and Algorithms 2025-09-17 v3

Abstract

Given a sequence of nn numbers and kk parallel First-in-First-Out (FIFO) queues, how close can one bring the sequence to sorted order? It is known that kk queues suffice to sort the sequence if the Longest Decreasing Subsequence (LDS) of the input sequence is at most kk. But, what if the number of queues is too small for sorting completely? - We give a simple algorithm, based on Patience Sort, that reduces the LDS by k1k - 1. We also show, that the algorithm is optimal, i.e., for any L>0L > 0 there exists a sequence of LDS LL such that the LDS cannot be reduced below Lk+1L - k + 1 with kk queues. - Merging two sorted queues is at the core of Merge Sort. In contrast, two sequences of LDS two cannot always be merged into a sequence of LDS two. We characterize when it is possible and give an algorithm to decide whether it is possible. Merging into a sequence of LDS three is always possible. - A down-step in a sequence is an item immediately followed by a smaller item. We give an optimal algorithm for reducing the number of down-steps. The algorithm is online. Our research was inspired by an application in car manufacturing.

Keywords

Cite

@article{arxiv.2207.02476,
  title  = {Improving Order with Queues},
  author = {Andreas Karrenbauer and Kurt Mehlhorn and Pranabendu Misra and Paolo Luigi Rinaldi and Anna Twelsiek and Alireza Haqi and Siavash Rahimi Shateranloo},
  journal= {arXiv preprint arXiv:2207.02476},
  year   = {2025}
}