Selection on X 1 + X 2 + ⋯ + X m via Cartesian product trees

PeerJ Comput Sci. 2021 Apr 28:7:e483. doi: 10.7717/peerj-cs.483. eCollection 2021.

Abstract

Selection on the Cartesian product is a classic problem in computer science. Recently, an optimal algorithm for selection on A + B, based on soft heaps, was introduced. By combining this approach with layer-ordered heaps (LOHs), an algorithm using a balanced binary tree of A + B selections was proposed to perform selection on X 1 + X 2 + ⋯ + X m in o(nm + km), where X i have length n. Here, that o(nm + km) algorithm is combined with a novel, optimal LOH-based algorithm for selection on A + B (without a soft heap). Performance of algorithms for selection on X 1 + X 2 + ⋯ + X m are compared empirically, demonstrating the benefit of the algorithm proposed here.

Keywords: Cartesian product; Selection; Sorting; Tree.

Grants and funding

This work was supported by NSF CAREER grant 1845465. The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript.