An Improved Subsumption Testing Algorithm for the Optimal-Size Sorting Network Problem
本文提出了一种检验最优规模排序网络问题包含关系的新方法。新的方法是基于创建一个二分图和建模的包容测试的问题,枚举在这个图中的所有完美匹配。实验表明,在考虑包容检查的数量和找到最佳大小排序网络所需的时间时,与以前的方法相比有了显着的改进。我们能够为具有9个通道的比较器网络生成所有完整的滤波器集,从而确认25个比较器排序网络是最佳的。与最先进的结果相比,运行时间减少了10倍以上。
2017-07-27 cs.DS
Optimal Sorting Networks
本文解决了40多年前在《计算机程序设计艺术》第三卷中给出的排序网络的最优性问题。这本书列出了n <= 16个输入的高效排序网络。在本文中,我们给出了一般的组合参数表明,如果一个排序网络与一个给定的深度存在,那么存在一个特殊的形式。然后,我们构造命题公式,其满足性是必要的存在这样的网络。使用SAT求解器,我们得出结论,列出的网络具有最佳深度。对于n <= 10的输入,其中最优性是已知的,我们的算法是四个数量级的速度比以前的工作。
2013-12-22 cs.DM cs.DS
Twenty-Five Comparators is Optimal when Sorting Nine Inputs (and Twenty-Nine for Ten)
本文给出了由24个比较器组成的9输入排序网络的计算机辅助不存在性证明,从而证明了Floyd在1964年发现的25个比较器排序网络是最优的.作为推论,我们得到了Waksman在1969年发现的29个比较器网络在对10个输入进行排序时是最优的。这关闭了最佳大小排序网络问题的两个最小的开放实例,自1966年Floyd和Knuth的结果证明了多达8个输入的排序网络的最优性以来,这两个最小的开放实例一直是开放的。证明涉及两种方法的组合:一种是基于利用排序网络中丰富的对称性,另一种是基于对命题逻辑的可满足性问题的编码。我们说明,虽然这些都可以单手解决问题的较小的情况下,这是他们的组合,导致一个有效的解决方案,为九个输入。
2014-06-24 cs.DM cs.DS
TSSort: Probabilistic Noise Resistant Sorting
在本文中,我们提出了TSSort,概率,抗噪声,快速收敛的比较排序算法的基础上,微软TrueSkill。该算法将TrueSkill的更新规则与新开发的下一个项目对选择策略相结合,使其能够击败标准排序算法w.r.t.收敛速度和抗噪声能力,如模拟所示。如果项目的比较是昂贵的或嘈杂的,或者如果中间结果应该近似排序,TSSort是有用的。
2016-06-16 cs.DS
Joint Size and Depth Optimization of Sorting Networks
排序网络是一种不经意的排序算法,具有许多有趣的理论性质和实际应用。相关的经典挑战之一是搜索最优网络的深度(层数)的大小(比较器的数量)。然而,据我们所知,小排序网络的联合尺寸-深度最优性以前还没有得到解决。本文提出了网络的大小深度最优结果$12$通道。我们的研究结果表明,有排序网络的$n\leq9$输入是最佳的大小和深度,但这不是$10$和$12$通道的情况。对于$n=10$输入,我们能够证明具有$7$层的最优深度最优排序网络需要$31$比较器,而具有$29$比较器的最优大小网络需要$8$层。对于$n=11$输入,我们表明,网络与$8$或$9$层需要至少$35$比较器(最知名的上限为最小尺寸)。对于具有$n=12$输入和$8$层的网络,我们需要$40$比较器,而对于$9$层,最知名的大小是$39$。
2018-06-01 cs.DS
Optimal-Depth Sorting Networks
我们解决了一个40年前的关于排序网络深度最优性的公开问题。1973年,唐纳德·E.高德纳在《计算机编程的艺术》第三卷中详细描述了对当时已知的最小深度的网络进行排序,其中n =< 16个输入,引用了n =< 8的最优性。1989年,Parberry证明了9 =< n =< 10个输入的网络的最优性。在这篇文章中,我们提出了一种获得这种最优性结果的一般技术,并使用它来证明11 =< n =< 16个输入的其余开放情况的最优性。我们展示了如何利用对称性在n个输入上构造一个小的两层网络集合,使得如果在给定深度的n个输入上存在一个排序网络,则存在一个其第一层在该集合中的网络。对于结果集中的每个网络,我们构造一个命题公式,其可满足性对于给定深度的排序网络的存在是必要的。使用现成的SAT求解器,我们表明,排序网络列出的克努特是最佳的。对于n =< 10个输入,我们的算法比以前的算法快了几个数量级。
2014-12-17 cs.DM cs.DS
Guidesort: Simpler Optimal Deterministic Sorting for the Parallel Disk Model
本文提出了一种新的排序算法--Guidesort,它是Vitter和Shriver的并行磁盘模型(PDM)的单处理机变体。该算法是确定性的,并执行多个(并行)I/O操作,这些操作在最佳值的恒定因子$C$内。该算法及其分析比以前的工作中提出的那些更简单,并且基本上为3的可实现的常数因子$C$似乎小于所有其他已知的确定性算法,至少对于合理的参数值。
2019-02-15 cs.DS
An Optimal Algorithm for Sorting Pattern-Avoiding Sequences
本研究提出一种确定性线性时间比较算法,可排序避免未知固定排列模式的序列,其乘法常数依赖匹配信息论下界,核心借助Marcus-Tardos定理实现高效多路合并,还推论得到有界孪生宽度排列的线性排序算法。
2024-09-12 cs.DS
Sorting Networks: the End Game
本文研究了排序网络后端的性质,并说明了这些在搜索最佳大小或深度的网络中的实用性。所有以前的作品都集中在网络前端的属性以及如何应用这些属性来打破搜索中的对称性。新的属性有助于理解排序网络如何排序和加速求解器,以获得一个数量级的最佳大小和深度。
2014-11-24 cs.DS
Sorting Networks: to the End and Back Again
本文研究了排序网络的前端和后端的新性质,并说明了在寻找最优排序网络的新边界时这些性质的实用性。搜索首先关注网络的“外部”,然后关注内部。所有以前的作品只关注网络前端的属性,以及如何应用这些来打破搜索中的对称性。新的由外向内的性质有助于理解排序网络如何排序,并促进最优排序网络的新边界的计算。我们提出了新的并行排序网络的17至20个输入。对于17、19和20个输入,这些网络比以前已知的最佳网络更快。对于17个输入,新的排序网络在不存在使用较少层的排序网络的意义上是最优的。
2015-07-06 cs.DM cs.DS
The Quest for Optimal Sorting Networks: Efficient Generation of Two-Layer Prefixes
以前的工作确定深度最优的$n$通道排序网络的$9\leq n \leq 16$是基于利用前两层的对称性。然而,通常应用的朴素生成和测试方法不能扩展。本文重新讨论了两层前缀模对称的生成问题。提出了一种改进的对称性概念,并给出了一种基于正则语言和图同构的非对称表示集的生成方法。实证评估表明,新方法优于生成和测试的方法的数量级和容易扩展,直到$n=40$。
2014-09-23 cs.DM cs.DS
Towards Optimal Sorting of 16 Elements
排序理论中的一个基本问题是找到足够的悲观比较数来对给定数量的元素进行排序。目前,16是我们不知道确切值的元素的最低数量。我们知道,46个比较就足够了,44个不足够。有一个开放的问题,如果45个比较是足够的。我们提出了一个尝试,以解决这个问题,通过执行一个详尽的计算机搜索。我们还提出了一个算法,用于计算线性扩展,大大加快了计算。
2011-08-03 cs.DS
Quadratic Time Algorithms Appear to be Optimal for Sorting Evolving Data
我们实证研究排序在不断发展的数据模型。在这个模型中,排序算法保持数据项列表的排序顺序的近似值,同时,通过算法进行的每次比较,对手随机交换真实排序顺序中相邻项的顺序。以前的工作只研究了快速排序的两个版本,并且在Omega(n)的下界和O(nlog log n)的最佳上界之间存在差距。我们在本文中进行的实验提供了经验证据,一些二次时间算法,如插入排序和冒泡排序是渐近最优的任何常数率的随机交换。事实上,这些算法的性能与传统算法分析模型中更有效的算法(如快速排序)一样好或更好。
2018-05-14 cs.DS
Optimal antimatroid sorting
本文将拓扑堆排序推广到反拟阵结构,统一解决了由单调优先公式、弦图完美消除序和连通有根图顶点搜索序所限制的多类排序问题,并获得了最优算法。
2025-07-18 cs.DS
Optimal Prefix Free Codes With Partial Sorting
我们描述了一种算法计算一个最佳的前缀自由代码的$n$未排序的正权重在时间内$O(n(1+\lg α))\subseteq O(n\lg n)$,其中交替$α\in[1..n-1]$措施的排序所需的计算量。在大小为$n$和交替$α$的所有实例的最坏情况下,该渐近复杂度在代数决策树计算模型中的最优值的恒定因子内。这样的结果在相同的计算模型中,通过仅结合van Leeuwen的算法从排序的权重计算最佳无前缀码,在最坏情况下,在大小为$n$的实例上,改进了$Θ(n\lg n)$的现有技术复杂度,这是自1952年以来压缩和编码中的里程碑(自1976年以来已知),与延迟数据结构部分排序的多集依赖于它的查询(自1988年以来已知)。
2016-01-29 cs.DS
Adaptive Hybrid Sort: Dynamic Strategy Selection for Optimal Sorting Across Diverse Data Distributions
本文提出一种自适应混合排序范式,通过特征提取模块与有限状态机及XGBoost决策引擎,根据数据特征动态选择Counting Sort、Radix Sort或QuickSort,实验证明其在执行时间与灵活性上优于传统静态算法。
2025-06-22 cs.DB cs.DS cs.PF
On Instance-Optimal Algorithms for a Generalization of Nuts and Bolts and Generalized Sorting
本文推广螺母螺栓问题提出二分排序,采用基于邻域的实例最优定义,给出接近最优的随机算法,并进一步推广到DAG排序,推翻了带代价信息排序的一个潜在下界。
2024-07-15 cs.DS
An Answer to the Bose-Nelson Sorting Problem for 11 and 12 Channels
我们证明了11通道排序网络至少有35个比较器,12通道排序网络至少有39个比较器。这肯定地解决了《计算机编程艺术》第3卷中给出的相应排序网络的最优性,并关闭了Bose-Nelson排序问题的两个最小开放实例。我们通过将Van Voorhis的一个结果从排序网络推广到更一般的比较器网络来获得这些界。由此,我们推导出一个动态规划算法,该算法计算具有给定通道数的排序网络的最佳大小。从这个算法的执行,我们构造一个证书,其中包含相应的下限大小的派生,我们检查使用的程序正式验证使用的伊莎贝尔/HOL证明助手。
2022-07-24 cs.DS
Nearly Optimal Bounds for Stochastic Online Sorting
针对随机在线排序问题,提出一种期望代价为log n·2^(O(log* n))的算法,并证明Ω(log n)的下界,表明该算法近似最优,大幅优于此前Õ(n^(1/4))的最优结果。
2025-10-22 cs.DS
Optimal Sorting Circuits for Short Keys
算法和复杂性文献中一个长期存在的开放问题是是否存在大小为$o(n \log n)$的排序电路。Asharov、Lin和Shi最近的一项工作(SODA'21)表明,如果要排序的元素具有长度为$k = o(\log n)$的短键,那么通过利用非基于比较的技术,确实可以克服排序电路的$n\log n$障碍。更具体地说,Asharov等人。结果表明,在不考虑$poly\log^*$因素的情况下,对于$k$位密钥,存在$O(n) \cdot \min(k, \log n)$大小的排序电路.有趣的是,Farhadi等人(STOC'19)和Asharov等人(SODA'21)的最近工作也表明,假设著名的Li-Li网络编码猜想成立,上述结果对于每个密钥长度$k$基本上是最优的。还应注意,证明任何{ \it无条件}超线性电路的下界对于广泛的一类问题是超出当前技术的范围的。不幸的是,Asharov等人采取的方法。为了实现尺寸的最优性,在某种程度上关键地依赖于牺牲深度:具体地,即使对于1位密钥,他们的电路在深度上也是超{ \it poly}对数的。Asharov等人~将其表述为一个悬而未决的问题,即如何在规模和深度上实现最佳化。在本文中,我们将弥合我们理解中的这一重要差距。我们构造了一个大小为$O(n) \cdot \min(k, \log n)$(忽略$poly\log^*$项)和深度为$O(\log…
2021-11-07 cs.CC cs.DS
QuickMergesort: Practically Efficient Constant-Factor Optimal Sorting
我们认为内部排序的$n$元素序列的基本问题。在其最佳理论设置QuickMergesort中,QuickSort与Mergesort的组合以及$\sqrt{n}$的中位数枢轴选择,平均最多需要$n \log n - 1.3999n + o(n)$元素比较。本文解决的问题是如何使该算法实用。由于精细的枢轴选择通常会增加很多开销,我们发现QuickMergesort的中位数3枢轴选择导致平均最多$n \log n - 0{.}75n + o(n)$元素比较,同时在基本数据上运行速度很快。实验表明,QuickMergesort优于最先进的库实现,包括C++的Introsort和Java的Dual-Pivot Quicksort。进一步权衡低运行时间和低数量的比较进行了研究。此外,我们描述了一个实际有效的版本与$n \log n + O(n)$比较在最坏的情况下。
2018-04-26 cs.DS
The Takeoff Towards Optimal Sorting Networks
最优深度$n$ -输入排序网络问题的一组完整的过滤器$F_n$是这样的,如果存在深度为$d$的$n$ -输入排序网络,则对于某些$C \in F_n$,存在形式为$C \oplus C'$的一个。以前的工作的主题提出了一种方法来寻找完整的一套过滤器$R_{n, 1}$和$R_{n, 2}$,只包括网络的深度分别为1和2,其输出是最小的和代表性的排列和反射。我们的主要贡献是一个实用的方法,找到一套完整的过滤器$R_{n, 3}$只包含网络的深度三,其输出是最小的和代表性的排列和反射。在以前的工作中,我们已经开发出一种高效的算法,用于查找极值集(即比较器网络的输出;项集;)排列。在本文中,我们提出了一个修改,该算法确定的代表性项目集排列和反射。因此,所提出的实用方法是我们应用于排序网络领域的已知理论和实践的成功结合。对于$n < 17$,我们根据经验计算代表性最小值的完整滤波器集$R_{n, 2}$、$R_{n, 3}$、$R_{n, 2} \upharpoonright w $和$R_{n, 3}^w$,直至置换和反射$n$ -输入网络,其中除了$R_{n, 2}$之外的所有滤波器对于这项工作来说都是新颖的。
2015-03-12 cs.DS
Naively Sorting Evolving Data is Optimal and Robust
研究演化数据模型中的排序问题,证明朴素相邻交换排序算法在一般扰动分布和平均演化步数有界条件下,能以高概率实现最优总偏差和最大偏差,解决了先前开放问题。
2024-09-22 cs.DS
Optimal In-Place Suffix Sorting
后缀数组是许多涉及字符串搜索和数据压缩的应用程序的基本数据结构。在过去的20年里,设计时间/空间有效的后缀阵列构造算法引起了人们的极大关注,并取得了相当大的进展。我们得到的\emph{first}在位后缀数组的建设算法,是最佳的时间和空间(只读)整数字母表。具体而言,本文做出了以下贡献:1.对于整数字母表,我们得到了第一个后缀排序算法,它需要线性时间,只使用$O(1)$工作空间(工作空间是输入字符串和输出后缀数组之外所需的总空间)。输入字符串可以在算法执行期间被修改,但是应该在算法终止时被恢复。2.我们通过为只读整数字母表提供第一个就地线性时间算法来加强第一个结果,该算法具有$|Σ|=O(n)$(即,不能修改输入字符串)。该算法解决了Franceschini和Muthukrishnan在ICALP 2007中提出的公开问题。开放性问题要求在$o(n\log n)$时间内设计就地算法,并最终在$O(n)$时间内使用$|Σ| \leq n$设计(只读)整数字母表。我们的结果实际上稍微强一些,因为我们允许$|Σ|=O(n)$。3.此外,对于只读通用字母表(即,只允许比较),我们提出了一个最优的原地$O(n\log n)$时间后缀排序算法,恢复了Manzini和Ferragina在ESA 2002中提出的一个公开问题Franceschini和Muthukrishnan的结果.
2018-11-09 cs.DS
Sorting under Partial Information with Optimal Preprocessing Time via Unified Bound Heaps
Institute of Science and Technology Austria(奥地利科学技术研究所)
本文提出在部分信息下排序的最优预处理时间算法,利用统一界堆数据结构,实现O(m)预处理时间和O(log e(G))排序时间。
2026-10-09 cs.DS
Near-Optimal In-Place Sorting
该研究提出首个基于比较的原地排序算法,以指数级高概率实现n元素数组的n lg n + O(n)次比较与O(n)次移动排序,还改进了最坏情况算法,借助新型有序集合结构缩小了最小移动量原地排序的差距。
2026-07-30 cs.DS
Sorting and Permuting without Bank Conflicts on GPUs
在本文中,我们看看在图形处理单元(GPU)的共享内存中没有任何银行冲突的设计算法的复杂性。给定$n$、$w$处理器和$w$存储体大小的输入,我们研究了三个基本问题:排序、置换和$w$路划分(定义为对包含$[w]$中每个整数的$n/w$副本的输入进行排序).我们解决了最佳的$O(\frac{n}{w} \log n)$时间排序。当使用$n \ge w^2$时,我们在$O(n/w)$时间内最优地解决了划分问题。我们还提出了一个一般的解决方案的分区问题,需要$O(\frac{n}{w} \log^3_{n/w} w)$的时间。最后,我们使用随机算法在$O(\frac{n}{w} \log\log\log_{n/w} n)$时间内解决置换问题。我们的研究结果表明,当工作与银行的内存架构,有这些问题之间的分离和排列和分区问题是不容易的简单的并行扫描。
2015-07-06 cs.DC cs.DS
Optimal Sorting with Persistent Comparison Errors
我们考虑在\emph{persistent}比较错误的情况下对$n$元素进行排序的问题。在该模型中(Braverman和Mossel,SODA'08),两个元素之间的每个比较都可能是错误的,具有一定的固定(小)概率$p$和\emph{comparisons cannot be repeated}。在这个模型中,完美的排序是不可能的,目标是最小化输出序列中每个元素的\emph{dislocation},也就是说,它的真实排名和它的位置之间的差异。这个问题的现有下限表明,没有算法可以保证,以高概率,\emph{maximum dislocation}和\emph{total dislocation}分别优于$Ω(\log n)$和$Ω(n)$,无论其运行时间。在本文中,我们提出了第一个\emph{$O(n\log n)$-time}排序算法,保证\emph{$O(\log n)$ maximum dislocation}和\emph{$O(n)$ total dislocation}具有高概率。除了改进以前的最先进的算法-最著名的算法有运行时间$\tilde{O}(n^{3/2})$ -我们的结果表明,比较错误不使问题计算上更困难:一个序列与最好的可能的错位可以在$O(n\log n)$时间,即使没有比较错误,$Ω(n\log n)$时间是必要的,以保证这样的错位范围。为了达到这个最优…
2018-04-20 cs.DS
Optimal High Probability Bounds for Random Order Online Sorting
Seoul National University(首尔大学)
该研究针对随机顺序在线排序问题,证明最优最坏情况竞争比为Θ(log n),提出的在线算法可实现O(log n)高概率竞争比,且不存在能改进该对数依赖的随机在线算法。
2026-10-14 cs.DS
Efficient Algorithms for Sorting in Trees
排序是计算机科学中的一个基本问题,通常用于序列或全序。最近,在偏序集(或偏序集)上的一种更一般的排序形式被研究,其中一些元素对是不可比的。一般的偏序集排序算法的查询复杂度下限为$Ω(wn + n \log n)$,其中$w$是偏序集的宽度。我们考虑的问题,排序树,偏序的一个特殊情况下,参数化的复杂性,相对于$d$,树中的元素的最大程度,$d$通常是远远小于$w$在树上。例如,在完全二叉树中,$d = Θ(1), w = Θ(n)$。本文提出了一种在最坏情况下的期望$O(dn\log n)$查询和时间复杂度下对树偏序集进行排序的随机算法。这改进了先前的$O(dn \log^2 n)$的上界。我们的算法是第一个最佳的有界度树。我们还提供了一个新的下界的$Ω(dn + n \log n)$的最坏情况下的查询复杂度排序树偏序集。最后,我们提出了第一个确定性算法排序树偏序集,具有较低的总复杂度比现有的算法排序一般偏序。
2022-06-02 cs.DS
Sorting and Selection with Imprecise Comparisons
我们考虑一个不精确比较的简单模型:存在一些$δ>0$,当给受试者两个元素进行比较时,如果这些元素的值(由受试者感知)至少相差$δ$,那么比较将是正确的;当两个元素的值在$δ$内时,比较的结果是不可预测的。这个模型的灵感来自于人类价值判断的不精确性,以及体育比赛结果中有界但潜在的对抗性错误。我们的模型与心理物理学文献中通常考虑的一些模型密切相关,其中$δ$对应于{ \em最小可察觉差异单位(JND)}或{ \em差异阈值}。在实验心理学中,配对比较的方法被提出作为一种对人类受试者的$n$元素之间的偏好进行排名的手段。该方法需要执行所有$\binom{n}{2}$比较,然后根据获胜次数对元素进行排序。进行大量的比较是为了对抗人类受试者的潜在错误决策,人类受试者充当不精确的比较者。我们表明,在我们的模型中,配对比较的方法具有最佳的准确性,最大限度地减少了不精确的比较所引入的误差。但是,它也是浪费的,因为它需要所有的$\binom{n}{2}$。我们表明,同样的最佳保证可以实现使用$4 n^{3/2}$比较,我们证明了我们的方法的最优性。然后,我们探讨了一般的权衡之间的保证,可以作出的错误和排序,最大值查找和选择的问题进行比较的数量。我们的研究结果提供了强有力的下界和接近最优的解决方案,这些问题。
2015-01-13 cs.DS
Breaking the Sorting Barrier for Directed Single-Source Shortest Paths
该研究提出了一种在比较-加法模型下、针对非负权有向图的确定性SSSP算法,其时间复杂度突破了Dijkstra算法在稀疏图上的时间界,证明了Dijkstra算法并非SSSP的最优算法。
2025-07-30 cs.DS
Noisy Tree Data Structures and Quantum Applications
本文提出行走树技术,用于构建带噪声的红黑树和线段树,保持渐近复杂度不变,并应用于量子算法,提出字符串排序的新量子方案,其上下界相差对数因子且优于经典方法。
2023-05-15 cs.DS quant-ph
Sorting an Array Using the Topological Sort of a Corresponding Comparison Graph
对高效排序的追求正在进行中,我们将探索基于图的稳定排序策略,特别是采用比较图。我们使用拓扑排序将比较图映射到线性域,并且我们可以操纵我们的图,使得得到的拓扑排序是排序数组。利用比较图中的哈密尔顿路与拓扑排序之间的关系,设计了一个在最优$O(n \log n)$时间内运行的分治算法.在这个过程中,我们构造了一个新的合并过程的相关不变性质的图,我们使用。此外,该方法比著名的{ \sc MergeSort}更节省空间,因为我们只修改了我们的固定图。
2020-08-31 cs.DM cs.DS
Sorting and Selection with Random Costs
除了单位成本比较模型之外,还有越来越多的关于模型分类和选择的工作。这项工作是第一次治疗的自然随机变量的问题,比较两个元素的成本是一个随机变量。每个成本都是独立选择的,并且是算法已知的。特别地,我们考虑以下三个模型:每个成本在范围$[0,1]$中均匀选择,每个成本以一定概率$p$为0,否则为1,或者每个成本以概率$p$为1,否则为无穷大。我们提出了这些问题的下限和上限(在大多数情况下是最优的)。我们通过仔细设计算法来获得我们的上界,以确保在各个阶段产生的成本是独立的,并在适当的时候使用随机偏序的属性。
2007-09-29 cs.DS
An Optimal Sorting Algorithm for Persistent Random Comparison Faults
本文针对持久随机比较错误下的排序问题,提出首个 $O(n\log n)$ 时间算法,在 $p<1/4$ 时以高概率实现 $O(\log n)$ 最大错位和 $O(n)$ 总错位,并证明这些界是最优的。
2025-08-27 cs.DS
Resource Oblivious Sorting on Multicores
我们提出了一个确定性排序算法,SPMS(样本,分区,合并排序),交错的样本排序与合并的分区。按顺序,它对$O(n \log n)$时间缓存中的$n$元素进行排序,并具有最佳的缓存未命中数量。该算法的并行复杂度(或关键路径长度)是$O(\log n \cdot \log\log n)$,它改进了以前的最佳缓存不经意排序的界限。该算法还具有较低的虚假共享成本。当在具有全局共享存储器和$p$核的多核计算环境中由工作窃取调度器调度时,由于该并行执行而导致的附加高速缓存未命中和假共享未命中的成本分别由$O(S\cdot M/B)$和$O(S \cdot B)$高速缓存未命中的成本限制,其中每个$p$核具有以大小为$B$的块组织的大小为$M$的高速缓存,其中,$S$是在执行期间执行的窃取次数。最后,SPMS算法是资源无关的,对机器参数的依赖性只出现在对算法性能的分析中,而不是算法本身。
2017-11-02 cs.DC cs.DS
Stochastic and Worst-Case Generalized Sorting Revisited
\emph{generalized sorting problem}是标准比较排序的受限版本,我们希望对$n$元素进行排序,但只允许对的子集进行比较。形式上,在$n$元素$v_1, \dots, v_n$上存在某个已知图$G = (V, E)$,目标是使用尽可能少的比较来确定元素的真实顺序,其中所有比较$(v_i, v_j)$必须是$E$中的边。我们承诺,如果真正的排序是$x_1 < x_2 < \cdots < x_n$,对于$\{x_i\}$是顶点$\{v_i\}$的未知置换,那么对于所有$i$,则是$(x_i, x_{i+1}) \in E$:这个哈密顿路径确保排序实际上是可能的。在这项工作中,我们提高了随机图和最坏情况图的广义排序的界限。对于Erdens-Renyi随机图$G(n, p)$(添加承诺的Hamilton路径,以确保排序是可能的),我们提供了一个算法,广义排序与预期的$O(n \log (np))$比较,我们证明是最佳的查询复杂性。这大大改进了Huang,Kannan和Khanna(FOCS 2011)的最知名算法,该算法使用$\tilde{O}(\min(n \sqrt{np}, n/p^2))$比较。对于任意图$G$与$n$顶点和$m$边(再次承诺的哈密顿路径),我们提供了一个算法广义排序与$\tilde{O}(\sqrt{mn})$比较。这改进了Huang…
2021-11-14 cs.DS
An Explicit and Efficient $O(n^2)$-Time Algorithm for Sorting Sumsets
本文提出首个显式基于比较的算法,以最优$O(n^2)$时间排序和集,利用矩阵单调性消除对数开销,并扩展至$k$重和集,实验验证显著加速。
2025-04-23 cs.DM cs.DS
Sorting in One and Two Rounds using $t$-Comparators
本研究针对以$t$-比较器为基本操作的排序问题,设计了关联2-Steiner系统的确定性单/双轮算法及基于延迟随机性二叉树技术的拉斯维加斯型双轮随机算法,分别实现了接近或渐近最优的比较器数量。
2024-05-21 cs.DC cs.DS
The Geometry of Tree-Based Sorting
该研究建立了BST模型与一大类排序算法的代价等价关系,利用BST的几何解释提出排列复杂度的对数交错界,还设计了对应并行排序算法并证明相关离线BST算法的存在性。
2023-05-04 cs.DS
Robust-Sorting and Applications to Ulam-Median
本文研究存在有界错误比较的鲁棒排序问题,提出一种期望查询近线性数量边的随机化算法,使输出顺序与真实顺序的距离控制在 $(3+ε)|B|$ 内,并首次为 Ulam-$k$-Median 问题给出 $(2-ε)$ FPT 线性时间近似算法。
2025-05-05 cs.DS
Pancake Flipping with Two Spatulas
在本文中,我们研究了几个变化的\emph{pancake flipping problem},这也是众所周知的问题的\emph{sorting by prefix reversals}。我们考虑的变化,在排序过程中添加前缀反转其他类似的操作,如前缀换位和前缀transversals。这些类型的排序问题在互连网络和计算生物学中有应用。首先研究了无符号置换的前缀反转和前缀转置排序问题,并给出了该问题的一个3-近似算法。在此基础上,我们给出了一个2-近似算法。我们还提供了一个3-近似算法排序的前缀反转和前缀置换的操作总是适用于未排序的后缀的置换。我们进一步分析的问题,在更实际的方式,并定量显示我们的算法的近似比如何提高与最佳算法应用的前缀反转的数量的增加。最后,我们提出了实验结果来支持我们的分析。
2009-05-04 cs.DS cs.OH
Quick(er)sort and optimal adaptivity
IIIT Delhi(德里信息科学与技术研究所)
本文提出一种超越仅依赖输入规模的最坏情况最优性新范式,引入问题相关参数,并基于新的有序性度量设计出基于划分排序的最优算法。
2026-10-05 cs.CC cs.DS
Simpler Optimal Sorting from a Directed Acyclic Graph
Technical University of Denmark, DTU(丹麦技术大学)
本文提出了一种基于有向无环图的简单最优排序算法,通过结合拓扑排序与堆排序,以更简洁的方式实现线性扩展数的最优查询和运行时间。
2026-02-07 cs.DS
Sorting with Predictions
University of Oxford(牛津大学)
本文研究带预测的排序问题,针对位置预测和快速比较两种设置提出仅需 $O(\sum_i \log η_i)$ 次精确比较的简单算法,并证明其比较复杂度在相应误差度量下渐近最优,实验验证了学习增强排序的实用性。
2023-11-01 cs.DS cs.LG
Sorting Short Keys in Circuits of Size o(n log n)
我们考虑的经典问题的排序包含$n$元素的输入数组,其中每个元素是用一个$k$位比较键和一个$w$位有效载荷。一个长期存在的问题是是否存在$(k + w) \cdot o(n \log n)$大小的布尔电路进行排序。我们表明,可以克服$n\log n$障碍时,要排序的键是短的。具体来说,我们证明了有一个电路与$(k + w) \cdot O(n k) \cdot \poly(\log^*n - \log^* (w + k))$布尔门能够排序任何输入数组包含$n$元素,每个描述与一个$k$位的关键和$w$位的有效载荷。因此,如果要排序的键是短的,比如说,$k < o(\log n)$,我们的结果是渐近优于经典的AKS排序网络(忽略$\poly\log^*$条款),我们也克服了$n \log n$障碍,在这种情况下。这样的结果最初可能是令人惊讶的,因为早就知道基于比较器的技术必须招致$Ω(n \log n)$比较器门,即使当要排序的关键字仅为$Ω(n \log n)$位长时(例如,参见Knuth的“Art of Programming”教科书)。据我们所知,我们是第一个实现非平凡的结果排序电路使用非比较为基础的技术。我们还表明,如果李-李网络编码猜想是真的,我们的上限是最佳的,除了$\poly\log^*$条款,为每个$k$只要$k = O(\log n)$。
2020-10-26 cs.CC cs.DS
An Algorithm for Bichromatic Sorting with Polylog Competitive Ratio
针对双色排序这一长期未决的带代价排序问题,提出随机算法InversionSort,首次实现了高概率下接近最优的$O(\log^{3} N)$竞争比,突破了此前的线性竞争比水平。
2023-11-09 cs.DS
Sorting as Gradient Flow on the Permutohedron
研究排序算法在排列空间的导航,提出连续时间几何模型将排序视为排列多面体上有向运动,通过二次势产生梯度流,结合两种离散描述评估轨迹,给出相关论证及约束,确定松弛时间与维度乘积的渐近尺度。
2026-07-23 cs.DS
Selection in the Presence of Memory Faults, with Applications to In-place Resilient Sorting
在大小为$n$的未排序数组中寻找$k^{th}$最小元素的选择问题是计算机科学研究的基本问题之一。这项工作的主要重点是设计算法来解决存在内存故障的选择问题。这些可能是宇宙射线、阿尔法粒子或硬件故障的结果。具体来说,这里假设的计算模型是由Finocchi和Italiano引入的RAM模型(简称FRAM)的错误变体。在该模型中,存储单元的内容可能在执行期间被逆向地损坏,并且该算法被给予关于可能发生的损坏的数量的上限$δ$。这项工作的主要贡献是一个确定性的弹性选择算法的最佳O(n)最坏情况下的运行时间。有趣的是,运行时间不依赖于故障的数量,并且算法不需要知道$δ$。上述弹性选择算法可用于改进由Gieseke、Moruz和Vasperhold开发的弹性$k$ -d树的复杂度界限。具体地说,构造$k$ -d树的时间复杂度从$O(n\log^2 n + δ^2)$提高到$O(n \log n)$ .在确定性算法的基础上,提出了一种随机弹性选择算法,该算法比确定性算法简单,具有$O(n + α)$期望的时间复杂度和O(1)空间复杂度(即,已到位)。该算法用于开发第一个弹性排序算法,该算法在适当的位置并实现最佳的$O(n\log n + αδ)$预期运行时间。
2012-08-28 cs.DS
2-stack pushall sortable permutations
在60年代,Knuth引入了堆栈排序和堆栈的串行组合。特别是,一个重要的问题产生的工作克努特:如何有效地决定,如果一个给定的排列是排序与2堆栈系列?这个问题是多项式问题还是NP-完全问题,目前还没有定论。在这篇文章中,我们介绍了2-栈pushall排列,形成了一个子类的2-栈可排序排列,并表明这两个类是密切相关的。此外,我们给出了一个O(n^2)的最优算法来决定一个给定的大小为n的置换是否是2-stack pushall可排序的,并描述了它的所有排序。这一结果为在多项式时间内解决一般的2-栈排序问题迈出了一步。
2013-03-18 cs.DM cs.DS
Memory-Adjustable Navigation Piles with Applications to Sorting and Convex Hulls
我们认为空间有界的计算随机存取机(RAM)的输入是一个只读的随机存取介质,输出是要产生一个只写顺序存取介质,和可用的工作空间允许随机读取和写入,但容量有限。输入的长度是$N$元素,输出的长度受计算限制,并且工作空间的容量是用于某个预定参数$S$的$O(S)$位。我们提出了一个国家的最先进的优先级队列-所谓的可调导航桩-这个有限的RAM模型。在一些合理的假设下,我们的优先级队列支持$\mathit{minimum}$和$\mathit{insert}$在$O(1)$最坏情况下的时间和$\mathit{extract}$在$O(N/S + \lg{} S)$最坏情况下的时间为任何$S \geq \lg{} N$。我们展示了如何使用这种数据结构来排序$N$元素和计算凸包的$N$点在二维欧几里德空间中的$O(N^2/S + N \lg{} S)$最坏情况下的时间为任何$S \geq \lg{} N$。根据已知的下界的任何分支程序的时空积寻找独特的元素,我们的排序和凸壳算法是最优的。在设计其他空间高效的算法时,可调节的导航桩已经证明是有用的,我们希望它能找到其他应用的方法。
2015-10-24 cs.DS
Data Oblivious Algorithms for Multicores
随着诸如英特尔SGX(具有超线程)等安全处理器的广泛采用,对大数据的私人分析的需求越来越大。大多数数据不经意算法的工作采用经典的PRAM模型来捕获并行性。然而,人们普遍认为PRAM并不能最好地捕捉现实的多核处理器,也不能反映实际中采用的并行编程模型。在本文中,我们开始研究并行数据不经意算法在现实的多核,最好的捕获的二进制fork-join模型的计算。我们首先证明了数据无关排序可以通过具有最佳总工作和最佳(缓存无关)缓存复杂度的二进制fork-join算法来完成,并且在O(log n log log n)跨度(即,并行时间)匹配最著名的不安全算法。使用我们的排序算法作为核心原语,我们展示了如何在二进制fork-join模型中以非平凡的效率模拟一般PRAM算法。我们还提出了几个应用程序,包括列表排名,欧拉之旅,树收缩,连接组件,最小生成森林的结果。对于这些应用程序的一个子集,我们的数据无关算法渐近优于最知名的不安全算法。对于其他应用程序,我们展示了数据不经意的算法,其性能界限匹配最知名的不安全算法。补充这些渐近有效的结果,我们提出了一个实际的变种,我们的排序算法,是独立的和潜在的实现。它具有最佳的缓存成本,它是从最佳的工作和关于一个log n的因素关闭的跨度,而且,它实现了小的常数因子在其边界。
2021-06-29 cs.CR cs.DC cs.DS
Strategies for Stable Merge Sorting
我们介绍了新的稳定的自然归并排序算法,称为$2$ -归并排序和$α$ -归并排序。我们证明了几个归并排序算法,包括Timsort,Shivers'排序,$α$堆栈排序,和我们的新的$2$合并和$α$合并排序的上限和下限。对于包含$m$ ~单调游程的长度为~ $n$的输入,上界和下界具有$c \cdot n \log m$和$c \cdot n \log n$的形式。对于Timsort,我们证明了$(1.5 - o(1)) n \log n$的一个下界.对于$2$ -归并排序,我们证明了近似$(1.089 \pm o(1))n \log m$的最优上下界.我们证明了类似的渐近匹配的上界和下界的$α$归并排序,当$φ< α< 2$,其中$φ$是黄金分割率。我们的界限是合并成本;这个上限限制了比较的数量,并准确地建模运行时。合并策略可以用于任何稳定的合并排序,而不仅仅是自然的合并排序。新的$2$ -merge和$α$ -merge排序具有更好的最坏情况合并成本上限,并且比广泛使用的Timsort实现起来稍微简单一些;它们在实验中也表现得更好。我们还报告了实验比较与算法开发的Munro野生和Jugé随后本文件的结果。
2019-02-09 cs.DS