We consider the following general model of a sorting procedure: we fix a hereditary permutation class $\mathcal{C}$, which corresponds to the operations that the procedure is allowed to perform in a single step. The input of sorting is a permutation $\pi$ of the set $[n]=\{1,2,\dotsc,n\}$, i.e., a sequence where each element of $[n]$ appears once. In every step, the sorting procedure picks a permutation $\sigma$ of length $n$ from $\mathcal{C}$, and rearranges the current permutation of numbers by composing it with $\sigma$. The goal is to transform the input $\pi$ into the sorted sequence $1,2,\dotsc,n$ in as few steps as possible. This model of sorting captures not only classical sorting algorithms, like insertion sort or bubble sort, but also sorting by series of devices, like stacks or parallel queues, as well as sorting by block operations commonly considered, e.g., in the context of genome rearrangement. Our goal is to describe the possible asymptotic behavior of the worst-case number of steps needed when sorting with a hereditary permutation class. As the main result, we show that any hereditary permutation class $\mathcal{C}$ falls into one of five distinct categories. Disregarding the classes that cannot sort all permutations, the number of steps needed to sort any permutation of $[n]$ with $\mathcal{C}$ is either $\Theta(n^2)$, a function between $O(n)$ and $\Omega(\sqrt{n})$, a function betwee $O(\log^2 n)$ and $\Omega(\log n), or $1$, and for each of these cases we provide a structural characterization of the corresponding hereditary classes.
翻译:我们考虑以下排序过程的一般模型:固定一个遗传置换类$\mathcal{C}$,该类别对应于排序过程在单步中允许执行的操作。排序的输入是集合$[n]=\{1,2,\dotsc,n\}$的一个置换$\pi$,即每个$[n]$中的元素恰好出现一次的一个序列。在每一步中,排序过程从$\mathcal{C}$中选取一个长度为$n$的置换$\sigma$,并通过将其与当前数字置换复合来重新排列当前序列。目标是在尽可能少的步骤内将输入$\pi$转换为有序序列$1,2,\dotsc,n$。这一排序模型不仅涵盖了经典排序算法(如插入排序或冒泡排序),还包括通过设备(如堆栈或并行队列)进行的排序,以及通常在基因组重排背景下考虑的块操作排序。我们的目标是描述使用遗传置换类进行排序时最坏情况下所需步骤数的可能渐近行为。作为主要结果,我们证明任何遗传置换类$\mathcal{C}$均属于五个不同类别之一。忽略那些不能排序所有置换的类别,使用$\mathcal{C}$对$[n]$中任何置换进行排序所需的步骤数要么是$\Theta(n^2)$,要么是介于$O(n)$和$\Omega(\sqrt{n})$之间的函数,要么是介于$O(\log^2 n)$和$\Omega(\log n)$之间的函数,要么是$1$,并且对于每种情况,我们都给出了相应遗传类的结构刻画。