We present a merge-free algorithm for multi-way co-ranking, the problem of computing cut indices $i_1,\dots,i_m$ that partition each of the $m$ sorted sequences such that all prefix segments together contain exactly $K$ elements. Our method extends two-list co-ranking to arbitrary $m$, maintaining per-sequence bounds that converge to a consistent global frontier without performing any multi-way merge or value-space search. Rather, we apply binary search to \emph{index-space}. The algorithm runs in $O(\log(\sum_t n_t)\,\log m)$ time and $O(m)$ space, independent of $K$. We prove correctness via an exchange argument and discuss applications to distributed fractional knapsack, parallel merge partitioning, and multi-stream joins. Keywords: Co-ranking \sep partitioning \sep Merge-free algorithms \sep Index-space optimization \sep Selection and merging \sep Data structures
翻译:我们提出了一种用于多路协同排序的无归并算法,该问题旨在计算分割索引$i_1,\dots,i_m$,使得每个$m$个排序序列被划分为前缀段,这些前缀段共同包含恰好$K$个元素。我们的方法将双列表协同排序推广至任意$m$,通过维护每个序列的边界,使其收敛至一致的全局前沿,而无需执行任何多路归并或值空间搜索。相反,我们将二分搜索应用于\emph{索引空间}。该算法的时间复杂度为$O(\log(\sum_t n_t)\,\log m)$,空间复杂度为$O(m)$,且与$K$无关。我们通过交换论证证明了算法的正确性,并讨论了其在分布式分数背包问题、并行归并划分以及多流连接中的应用。关键词:协同排序 \sep 划分 \sep 无归并算法 \sep 索引空间优化 \sep 选择与归并 \sep 数据结构