Generalized Sorting with Predictions
广义排序问题,也被称为禁止比较排序,最早由Huang等人提出,同时提出了一个需要$\tilde O(n^{3/2})$探针的随机算法。我们研究这个问题的额外预测作为输入的所有对允许的比较。我们提出了一个随机算法,它使用$O(n \log n+w)$探针具有高概率和一个确定性算法,它使用$O(nw)$探针,其中$w$是预测的错误数。
2020-10-31 cs.DS
Tight Bounds for Online Stable Sorting
虽然许多作者已经考虑了对大小为$n$的多集$S$进行排序需要多少次三元比较,但最著名的上界和下界仍然在$n$中存在一个线性项。在本文中,我们限制我们的注意力在线稳定排序和证明的上限和下限内(O(n))不仅彼此,而且最知名的上限离线排序。具体地说,我们首先证明,如果不同元素的数量(σ= o(n / \log n)),那么((H + 1)n + o(n))比较是足够的,其中$H$是$S$中元素分布的熵。然后给出了一个简单的证明,证明了在最坏情况下((H + 1)n-o(n))比较是必要的.
2009-07-04 cs.DS
Sorting from Crowdsourced Comparisons using Expert Verifications
本文提出一种基于专家验证的噪声排序模型与高效算法 CandidateSort,用于处理众包环境中的低质量数据,并证明其使用的验证次数达到理论最优。
2023-10-21 cs.DS
New Sorting Algorithm Wave Sort (W-Sort)
University of California, Davis(加州大学戴维斯分校)
波排序是一种新型原地排序算法,通过动态主元选择策略解决传统排序算法的性能问题,具有高效的比较复杂度和稳定的性能表现。
2026-01-04 cs.DS
Improved Average Complexity for Comparison-Based Sorting
本文研究排序算法的平均复杂度与比较次数的关系。它的信息论下限是$n \lg n - 1.4427n + O(\log n)$。对于许多有效的算法,第一个$n\lg n$长期很容易实现,我们的重点是(负)常数因子的线性项。MergeInsertion排序的当前最佳值是$-1.3999$。我们的新值是$-1.4106$,将差距缩小了一些$25\%$。我们算法的一个重要组成部分是“二元插入”,它将两个数字$A$和$B$,$A<B$插入到一个排序序列$T$中。该插入算法对于严格的数学分析仍然足够简单,并且对于$T$的长度的一定范围工作良好,对于该范围,简单的二进制插入不起作用,因此允许我们采用与二进制插入互补的方法。
2017-05-02 cs.DS
An In-Place Sorting with O(n log n) Comparisons and O(n) Moves
我们提出的第一个就地算法排序的大小为n的数组,执行,在最坏的情况下,最多O(n log n)的元素比较和O(n)的元素传输。这解决了一个长期存在的公开问题,明确指出,例如,在[J. I. Munro和V. Raman,Sorting with minimum data movement,J. Algorithms,13,374-93,1992],是否存在同时匹配所有计算资源上的渐近下界的排序算法。
2003-05-09 cs.CC cs.DS
TSSort: Probabilistic Noise Resistant Sorting
在本文中,我们提出了TSSort,概率,抗噪声,快速收敛的比较排序算法的基础上,微软TrueSkill。该算法将TrueSkill的更新规则与新开发的下一个项目对选择策略相结合,使其能够击败标准排序算法w.r.t.收敛速度和抗噪声能力,如模拟所示。如果项目的比较是昂贵的或嘈杂的,或者如果中间结果应该近似排序,TSSort是有用的。
2016-06-16 cs.DS
Towards Optimal Sorting of 16 Elements
排序理论中的一个基本问题是找到足够的悲观比较数来对给定数量的元素进行排序。目前,16是我们不知道确切值的元素的最低数量。我们知道,46个比较就足够了,44个不足够。有一个开放的问题,如果45个比较是足够的。我们提出了一个尝试,以解决这个问题,通过执行一个详尽的计算机搜索。我们还提出了一个算法,用于计算线性扩展,大大加快了计算。
2011-08-03 cs.DS
Bank Conflict Free Comparison-based Sorting On GPUs
在本文中,我们提出了一个框架,设计算法在共享内存的GPU不会招致存储体冲突。使用我们的框架,我们开发了第一个基于比较的共享内存排序算法,不会产生银行冲突。它可以用作GPU排序算法的子例程,以取代当前在共享内存中使用的排序网络。使用我们的银行无冲突共享内存排序子例程作为一个黑盒,我们设计BCFMergesort,合并排序的数据流,大于共享内存的算法。我们的算法执行合并的方式对全局内存的所有访问,并在合并过程中不会引起任何银行冲突。
2016-10-11 cs.DC 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
Twin Sort Technique
Twin Sort技术背后的目标是有效地对无序数据元素的列表进行排序,并且允许在排序方法中优化比较和迭代的情况下在数据结构内有效且简单地布置数据元素。如果元素都在迭代之间排序,则当不需要比较时,这种排序技术有效地终止了迭代。与快速排序、合并排序技术不同,这种新的排序技术基于对数据结构内的元素进行排序的迭代法。因此,当不需要对元素进行排序时,这将有利于优化迭代。最后,孪生排序技术是在数据结构内排列元素的更有效和简单的方法,并且与其他排序技术相比,它更容易实现。通过引入比较和迭代的优化,它永远不会允许有序元素上的排列任务。
2017-10-22 cs.DS
Lower Bounds for Sorting 16, 17, and 18 Elements
确定足以对$n$元素数组进行排序的最小比较次数$S(n)$是一个长期存在的问题。实际上,在此之前,除了$n=16$、$17$和$18$之外,已知$S(n)$仅适用于$n\leq 22$。在这项工作中,我们填补了这一空白,证明排序$n=16$,$17$,和$18$元素分别需要$46$,$50$,和$54$比较。这完全确定了这些值的$S(n)$,并反驳了Knuth的猜想,即$S(16) = 45$。此外,我们表明,为排序$28$元素至少需要99个比较。我们通过详尽的计算机搜索获得了我们的结果,扩展了Wells(1965)和Peczarski(2002,2004,2007,2012)的先前工作。我们的进步是基于硬件的进步和新的算法思想,如应用双向搜索这个问题。
2022-11-18 cs.DS
Sorting Real Numbers in $O(n\sqrt{\log n})$ Time and Linear Space
本文提出了一个实数排序的$O(n\sqrt{\log n})$时间和线性空间算法。这打破了实数必须通过比较排序进行排序并花费$Ω(n\log n)$时间进行排序的长期错觉。
2018-12-01 cs.DS
Fast and Simple Sorting Using Partial Information
本文提出一种利用预先比较结果的确定性排序算法,结合拓扑排序、堆排序和有序搜索,以最优时间和比较次数解决排序及top-k排序问题。
2024-11-22 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
An Algorithm for Bichromatic Sorting with Polylog Competitive Ratio
针对双色排序这一长期未决的带代价排序问题,提出随机算法InversionSort,首次实现了高概率下接近最优的$O(\log^{3} N)$竞争比,突破了此前的线性竞争比水平。
2023-11-09 cs.DS
Sorting Algorithms with Restrictions
排序是最常用和研究最多的算法问题之一[1]。传统的假设是将排序数据存储起来,并将基本运算假设为两个数的比较。随着新的处理器的出现和数据流的应用问题,排序技术发生了变化。这些变化和概括是下面研究的主题。
2011-07-21 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
Binar Sort: A Linear Generalized Sorting Algorithm
排序是计算机的一项常见且无处不在的活动。存在大量的排序算法并不奇怪。对于所有的排序算法,排序算法是线性的或O(N lg N)是公认的性能极限。性能上的线性下限源于排序算法使用数据的排序属性。排序算法通过排序属性使用比较来将数据元素从初始排列排列成排序排列。线性O(N)排序算法是存在的,但是使用数据的先验知识来使用数据的特定属性,因此具有更好的性能。线性排序算法是利用数据比较的普适性质进行推广的,但有一个线性性能下限。排序算法中的折衷是通过用于对数据元素进行排序的所选属性来实现性能的通用性。一个通用的,线性排序算法的上下文中的权衡性能的一般性,在第一次考虑似乎是难以置信的。但是,有一个隐含的假设,即只有排序属性是普遍的。但是,正如将要讨论和检查的那样,它不是数据元素的唯一通用属性。二进制排序是一种通用的排序算法,它使用另一个通用属性来线性排序。
2011-05-17 cs.DS
Sorting a Low-Entropy Sequence
我们给出了第一个具有高阶熵界的排序算法:设$S$是长度为$m$的序列,其中包含$n$不同的元素,(H_ \ell(S))是$S$的$\ell$阶经验熵,其中(n^{ \ell + 1} \log n \in O(m));我们的算法使用((H_ \ell(S)+ O(1))m)个比较对$S$进行排序。
2005-06-08 cs.DS
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
Parallel Equivalence Class Sorting: Algorithms, Lower Bounds, and Distribution-Based Analysis
我们研究并行比较为基础的算法,找到所有等价类的一组$n$元素,根据一些总顺序排序是不可能的。这样的场景出现在例如分布式计算机安全的应用中,其中每个$n$代理正在工作以标识它们所属的私有组,其中它们可用的唯一操作是零知识成对比较(有时称为“秘密握手”),其仅揭示两个代理是在同一组中还是在不同组中。我们为这个问题提供了新的并行算法,以及新的下限和基于分布的分析。
2016-05-12 cs.DS
Sorting as Gradient Flow on the Permutohedron
研究排序算法在排列空间的导航,提出连续时间几何模型将排序视为排列多面体上有向运动,通过二次势产生梯度流,结合两种离散描述评估轨迹,给出相关论证及约束,确定松弛时间与维度乘积的渐近尺度。
2026-07-23 cs.DS
Near-Optimal In-Place Sorting
该研究提出首个基于比较的原地排序算法,以指数级高概率实现n元素数组的n lg n + O(n)次比较与O(n)次移动排序,还改进了最坏情况算法,借助新型有序集合结构缩小了最小移动量原地排序的差距。
2026-07-30 cs.DS
Hash sort: A linear time complexity multiple-dimensional sort algorithm
排序和散列是计算机科学中两个完全不同的概念,并且相互排斥。哈希是一种使用数据作为关键字来映射到内存中的位置的搜索方法,用于快速存储和检索。排序是将数据从随机排列组织成有序排列的过程,并且是在各种应用中频繁执行的常见活动。几乎所有传统的排序算法都是通过比较来工作的,并且在这样做的时候,算法时间复杂度有一个线性最大下限。排序算法的理论时间复杂度的任何改进都可能导致实现性能的整体更大增益。对于使用排序算法的应用程序来说,算法性能的提高会带来更大的速度提高。这种排序算法需要使用一种替代方法来对数据进行排序,而不是比较,以超过算法性能上的线性时间复杂度边界。散列排序是一种通用的基于散列的非比较排序算法,它具有一些传统排序算法所没有的有趣特性。散列排序的性能逐渐优于最快的传统排序算法快速排序。散列排序算法具有线性时间复杂度因子--即使在最坏的情况下也是如此。散列排序为进一步的工作和研究其他排序方法开辟了一个领域。
2004-08-17 cs.DS
Adaptive Shivers Sort: An Alternative Sorting Algorithm
我们提出了一个稳定的合并排序算法,称为\Adaptive颤抖排序,利用存在的单调运行有效地排序部分排序的数据。我们还证明,虽然该算法是简单的实现,其计算成本,在进行比较的数量,是最佳的一个小的添加剂线性项。
2020-09-08 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
Sorting using non-binary comparisons
在本文中,我们研究的问题排序一组$n$硬币,每个不同的,但未知的重量,使用一个不寻常的规模。这个问题的经典版本,这已经得到了很好的研究,给用户一个二进制的规模,使他们能够确定这是轻/重的任何两个对象。我们对此进行概括,考虑接受$k$硬币作为输入并返回最轻的$t^{\text{th}}$的规模,对于固定的$k$和$t$。我们认为这是在一个在线和离线设置,并展示算法在这两种设置中,是最好的可能在所需的查询数量的顺序。
2015-07-21 cs.DS math.CO
TwinArray Sort: An Ultrarapid Conditional Non-Comparison Based Sorting Algorithm
本文提出TwinArray Sort,一种利用双辅助数组和条件去重验证的非比较排序算法,达到O(n+k)复杂度,在多种数据分布下优于传统排序算法,适用于大规模数据处理和机器学习数据集管理。
2024-09-30 cs.CC cs.DS
bsort: A theoretically efficient non-comparison-based sorting algorithm for integer and floating-point numbers
Independent researcher Mexico City, Mexico 1 Work performed prior to joining Amazon.
bsort是一种理论高效的非比较式排序算法,通过二进制快速排序方法统一处理整数和浮点数,具有$O(wn)$的时间复杂度和$O(w)$的空间复杂度,适用于小字节大小的数据类型。
2026-03-09 cs.AR cs.DS cs.PF
An Optimal Algorithm for Sorting Pattern-Avoiding Sequences
本研究提出一种确定性线性时间比较算法,可排序避免未知固定排列模式的序列,其乘法常数依赖匹配信息论下界,核心借助Marcus-Tardos定理实现高效多路合并,还推论得到有界孪生宽度排列的线性排序算法。
2024-09-12 cs.DS
ARC Sort: Enhanced and Time Efficient Sorting Algorithm
本文讨论了一种使用桶概念的排序算法,每个桶代表一定数量的数字。使用二维的数据结构,其中一维表示桶i。e;位数和每个桶的对应维度表示属于该桶的输入数字。然后,每个桶被单独排序。由于每个前面的桶元素总是小于后面的桶,因此不需要进行比较。通过这样做,我们可以显著降低任何用于对给定输入集进行排序的排序算法的时间复杂度。
2014-06-06 cs.DS
Rank-based Non-dominated Sorting
非支配排序是基于Pareto的多目标进化算法(MOEAs)中的一个计算瓶颈,因为在候选解之间建立支配关系需要大量的比较操作。在本文中,我们介绍了秩排序,非支配排序方法利用排序稳定性和有序信息,以避免昂贵的优势比较的秩分配阶段。提出了两种算法变体:第一种是RankOrdinal(RO),使用序数秩比较来确定优势,需要O(N)空间;第二种是RankIntersect(RS),使用集合交集和位级并行,需要O(N^2)空间。我们证明了所提出的方法的效率相比,其他国家的最先进的算法在经验模拟使用NSGA 2算法以及合成基准。RankIntersect算法能够显著优于当前最先进的技术,为许多目标提供高达30%的加速。所有算法都提供了C++实现。
2022-03-28 cs.CC cs.DS cs.NE
Analysis of String Sorting using Heapsort
在这篇硕士论文中,我们分析了一组字符串排序的复杂性。结果表明,排序字符串的复杂性可以很自然地表示在由字符串的集合诱导的前缀trie。计算模型考虑了符号比较,而不仅仅是字符串之间的比较。给出了快速排序和归并排序等经典算法在该模型下的上下界分析。在这里,我们将分析扩展到另一个经典的算法-堆排序。我们还分析了使用二项式堆作为堆实现的算法版本。
2014-08-11 cs.CC cs.DS
Robust-Sorting and Applications to Ulam-Median
本文研究存在有界错误比较的鲁棒排序问题,提出一种期望查询近线性数量边的随机化算法,使输出顺序与真实顺序的距离控制在 $(3+ε)|B|$ 内,并首次为 Ulam-$k$-Median 问题给出 $(2-ε)$ FPT 线性时间近似算法。
2025-05-05 cs.DS
Anytime Sorting Algorithms (Extended Version)
本文研究随时排序问题,提出让任意排序算法具备随时性的通用方法,推出multizip sort和Corsort两种新算法,经仿真验证性能优于现有方法,分别兼具低全局复杂度和更优中间估计效果的优势。
2024-05-14 cs.DS
Sorting Under 1-$\infty$ Cost Model
本文研究了非一致比较代价下的排序问题,其中代价为1或$\infty$。如果比较一个对的相关成本为$\infty$,那么我们说这样的对不能被比较(禁止对)。除了元素集合$V$之外,我们的问题的输入是一个图$G(V, E)$,它的边表示我们可以比较的产生单位成本的对。给定一个图的$n$顶点和$q$禁止边,我们提出了第一个非平凡的确定性算法,使$O((q + n)\log{n})$比较与总复杂度的$O(n^2 + q^{ω/2})$,其中$ω$是指数的矩阵乘法的复杂度。我们还提出了一个简单的随机化算法的问题,使$\widetilde{O}(n^2/\sqrt{q + n} + n\sqrt{q})$探针的概率很高。当输入图是随机的,我们表明,$\widetilde{O}(\min{(n^{3/2}, pn^2)})$探针就足够了,其中$p$是边缘概率。
2015-11-10 cs.DS
Sorting with Predictions
University of Oxford(牛津大学)
本文研究带预测的排序问题,针对位置预测和快速比较两种设置提出仅需 $O(\sum_i \log η_i)$ 次精确比较的简单算法,并证明其比较复杂度在相应误差度量下渐近最优,实验验证了学习增强排序的实用性。
2023-11-01 cs.DS cs.LG
Huskysort
关于排序问题的大量文献都集中在最小化比较和/或交换/副本的数量上。然而,衡量排序算法性能的一个更合适的标准是基于所需的数组访问的总数(“工作”)。对于一个基于分而治之的排序(包括该主题的迭代变体),我们可以将工作分为线性的(即$\textbf{O}(N)$)工作和线性的(即$\textbf{O}(N log N)$)工作。将工作从线性阶段移动到线性阶段的算法可能能够减少阵列访问的总数,并且间接地减少处理时间。本文介绍了一种排序方法,它通过替代廉价的比较,尽可能地减少了昂贵的比较在线性阶段的数量。在Java中,两种系统排序是双枢轴快速排序(用于原语)和对象的Timsort。我们证明,这两种算法的组合可以运行速度显着比单独的算法的类型的对象是昂贵的比较。我们称之为改进的排序算法Huskysort。
2020-12-01 cs.DS
Sorting under Partial Information (without the Ellipsoid Algorithm)
我们重新审视了部分信息下的著名排序问题:给定一些元素对之间的比较结果,对有限集合进行排序。输入是一个偏序集P,解决这个问题相当于使用成对比较发现P的未知线性扩展。在最坏情况下所需的比较次数的信息论下限是log e(P),即P的线性扩展数的二进制对数。系统科学51(3),390 - 399,1995)表明,存在用于实现该约束到常数因子的问题的多项式时间算法。他们的算法在每次迭代时调用椭球算法来确定下一次比较,这使得它不切实际。我们开发了有效的算法下的部分信息排序。像Kahn和Kim一样,我们的方法依赖于图熵。然而,我们的算法在本质上与他们的算法不同。而不是诉诸凸规划计算熵,我们近似的熵,或确保它只计算一次,在一类受限制的图,允许使用一个更简单的算法。具体而言,我们提出:时间复杂度:O(n)时间复杂度:O(n)我们所有的算法都可以以这样一种方式实现,即它们的计算瓶颈被限制在预处理阶段,而排序阶段在O(q)+O(n)时间内完成,其中q表示执行的比较次数。
2013-01-21 cs.DM cs.DS
Breaking the Sorting Barrier for Directed Single-Source Shortest Paths
该研究提出了一种在比较-加法模型下、针对非负权有向图的确定性SSSP算法,其时间复杂度突破了Dijkstra算法在稀疏图上的时间界,证明了Dijkstra算法并非SSSP的最优算法。
2025-07-30 cs.DS
Comparison of Bucket Sort and RADIX Sort
桶排序和RADIX排序是两个著名的整数排序算法。本文以经验的方法测量了不同类型的输入序列的时间消耗和内存消耗。这些算法既从理论的角度进行了比较,也从使用随机数字序列的六种不同用例中进行了比较。这些测量提供了关于它们在不同现实生活情况下的表现的数据。我们发现桶排序比RADIX排序更快,但是桶排序在大多数情况下使用更多的内存。排序算法对较小的整数执行得更快。对于已经排序的输入,RADIX排序并不快,但是桶排序快。
2012-06-15 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 and Selection with Random Costs
除了单位成本比较模型之外,还有越来越多的关于模型分类和选择的工作。这项工作是第一次治疗的自然随机变量的问题,比较两个元素的成本是一个随机变量。每个成本都是独立选择的,并且是算法已知的。特别地,我们考虑以下三个模型:每个成本在范围$[0,1]$中均匀选择,每个成本以一定概率$p$为0,否则为1,或者每个成本以概率$p$为1,否则为无穷大。我们提出了这些问题的下限和上限(在大多数情况下是最优的)。我们通过仔细设计算法来获得我们的上界,以确保在各个阶段产生的成本是独立的,并在适当的时候使用随机偏序的属性。
2007-09-29 cs.DS
Quadratic Time Algorithms Appear to be Optimal for Sorting Evolving Data
我们实证研究排序在不断发展的数据模型。在这个模型中,排序算法保持数据项列表的排序顺序的近似值,同时,通过算法进行的每次比较,对手随机交换真实排序顺序中相邻项的顺序。以前的工作只研究了快速排序的两个版本,并且在Omega(n)的下界和O(nlog log n)的最佳上界之间存在差距。我们在本文中进行的实验提供了经验证据,一些二次时间算法,如插入排序和冒泡排序是渐近最优的任何常数率的随机交换。事实上,这些算法的性能与传统算法分析模型中更有效的算法(如快速排序)一样好或更好。
2018-05-14 cs.DS
Sort Race
排序是最古老的计算问题之一,在大数据时代仍然非常重要。已经提出了各种算法和实现技术。在这项研究中,我们专注于比较为基础,内部排序算法。我们创建了12种不同大小的数据类型用于实验,并在单个设置中广泛测试了各种实现。使用一些有效的技术,我们发现快速排序是自适应的近排序的输入,仍然是最好的整体排序算法。我们还确定了哪些技术在timsort中有效,timsort是基于自然mergesort的最流行和最有效的排序方法之一,并创建了我们的mergesort版本,它在接近排序的实例上运行速度比timsort快。我们的quicksort和mergesort实现与所有教科书或研究文章中报道的其他实现不同,比任何版本的C库qsort函数都快,不仅适用于随机生成的数据,而且适用于各种类型的近似排序数据。这个实验可以帮助用户选择最好的排序算法来处理手头的困难排序工作。这项工作提供了一个平台,任何人都可以测试自己的排序算法对最好的领域。
2016-09-14 cs.DS
Naively Sorting Evolving Data is Optimal and Robust
研究演化数据模型中的排序问题,证明朴素相邻交换排序算法在一般扰动分布和平均演化步数有界条件下,能以高概率实现最优总偏差和最大偏差,解决了先前开放问题。
2024-09-22 cs.DS
Batched Predecessor and Sorting with Size-Priced Information in External Memory
在单位成本比较模型中,一个黑盒接受两个输入项并输出比较结果。排序和搜索等问题已经在这个模型中进行了研究,它已经被推广到包括定价信息的概念,其中不同的项目对(例如数据库记录)具有不同的比较成本。这些比较成本可以是任意的(在这种情况下,没有算法可以接近最优(Charikar et al. STOC 2000)),结构化的(例如,比较成本可能取决于数据库的长度(Gupta et al. FOCS 2001)),或随机的(Angelov et al. LATIN 2008)。出于数据库设置的成本取决于项目的大小,我们考虑的问题,排序和批处理前两个非均匀的项目集$A$和$B$作为输入。(1)在RAM设置中,我们考虑两个集合都有$n$键的情况。在$A$中比较两个项目的成本是$a$,在$A$中比较一个项目和$B$中比较一个项目的成本是$b$,在$B$中比较两个项目的成本是$c$。我们给出了$a \le b \le c$情形的上界和下界。请注意,案例$b=1, a=c=\infty$是著名的“螺母和螺栓”问题。(2)在磁盘访问模型(DAM),在磁盘和内部存储器之间传输元素的主要瓶颈,我们考虑的情况下,在$B$中的元素大于元素在$A$。较大的项需要更多的I/O进入内存,消耗更多的内存空间,并且需要完整地进行比较。我们首先给出了输出敏感的下限和上限的批量前的问题,并使用这些推导出的两个模型中的排序的复…
2020-04-27 cs.DC cs.DS
The Geometry of Tree-Based Sorting
该研究建立了BST模型与一大类排序算法的代价等价关系,利用BST的几何解释提出排列复杂度的对数交错界,还设计了对应并行排序算法并证明相关离线BST算法的存在性。
2023-05-04 cs.DS
Optimal Bounds for Noisy Sorting
排序是计算机科学中的一个基本问题。在经典设置中,众所周知,$(1\pm o(1)) n\log_2 n$比较对于对$n$元素列表进行排序是必要且充分的。本文研究了带噪排序问题,其中每个比较结果都以概率$p$独立翻转,且$p\in (0, \frac 12)$是固定的$p\in (0, \frac 12)$。作为我们的主要结果,我们表明,$$(1\pm o(1)) \left( \frac{1}{I(p)} + \frac{1}{(1-2p) \log_2 \left(\frac{1-p}p\right)} \right) n\log_2 n$$噪声比较是必要的和充分的排序$n$元素与错误概率$o(1)$使用噪声比较,其中$I(p)=1 + p\log_2 p+(1-p)\log_2 (1-p)$是BSC信道的容量与交叉概率$p$。这同时改进了这个问题的以前的最佳下限和上限(Wang,Ghaddar和Wang,ISIT 2022)。对于相关的噪声二进制搜索问题,我们表明,$$ (1\pm o(1)) \left((1-δ)\frac{\log_2(n)}{I(p)} + \frac{2 \log_2 \left(\frac 1δ\right)}{(1-2p)\log_2\left(\frac {1-p}p\right)}\right) $$嘈杂的比较是必要的和足够的,以找到一个元素的…
2023-03-15 cs.DS cs.IT math.IT
How to Sort in a Refrigerator: Simple Entropy-Sensitive Strictly In-Place Sorting Algorithms
University of California, Irvine(加州大学尔湾分校)
本文提出了一种基于熵的严格原地排序算法,通过简单的方法实现高效的排序,适用于内存受限的嵌入式系统。
2026-03-05 cs.DS
SONIK: Efficient In-situ All Item Rank Generation using Bit Operations
排序,一个经典的组合过程,形成了许多算法的基础,具有不同的应用。一个相关的问题涉及到有效地找到相应的排名的所有元素-迎合排名查询,数据分区和分配等,虽然,元素排名可以随后通过最初排序的元素,这样的程序涉及O(n log n)的计算,并可能不适合硬实时系统或应用程序的大输入大小与数据重新排序的限制。本文提出了SONIK,一个非比较线性时间和空间算法,使用位操作的启发基数排序计算所有输入整数元素的秩,从而提供隐式排序。元素等级是原位生成的,即,直接在相应的元件位置处,而无需重新排序或求助于任何其它分类机构。
2016-06-23 cs.DS
Sorting from Noisy Information
本文研究了噪声信息下的序推断问题。在这些问题中,存在由$1,...,n$表示的$n$元素上的未知阶(置换)$π$。我们假设信息是以与$π$相关的方式生成的。我们的目标是找到一个最大似然$π^*$给定的信息观察。我们将考虑两种不同类型的观测:噪声比较和噪声订单。噪声阶中的数据是从与π相关的指数分布给出的排列(这也称为Mallow模型)。噪声比较中的数据是为每对元素给出的信号,该信号与它们的真实排序相关。在本文中,我们提出了多项式时间算法解决这两个问题的高概率。作为我们的证明的一部分,我们表明,对于这两个模型的最大似然解$π^{\ast}$是接近原来的排列$π$。我们的研究结果是感兴趣的应用程序,排名,如体育排名,或排名的搜索项的基础上比较专家。
2009-10-07 cs.DM 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