慢速排序

✍ dations ◷ 2025-12-09 09:24:30 #慢速排序

慢速排序是一种排序算法。其基于合并排序的分而治之及递回的思想,并故意设计使排序过程非常缓慢。慢速排序由Andrei Broder及Jorge Stolfi在1986年发表的论文(论文名称是渐进最优算法及计算复杂性理论的戏仿)中提出。

慢速排序是一种原地算法的递回算法。

在简单的虚拟码中,此算法可以被表示为:

procedure slowsort(A, i, j)                           // 排序一個整數或浮點數數列 A,...,A ,若要使用其他的資料類型則必須重載大於或小於運算符    if i ≥ j then        return    m := ⌊(i+j) / 2⌋                                slowsort(A, i, m)                                 // (1.1)    slowsort(A, m+1, j)                               // (1.2)    if A < A then        swap A and A                            // (1.3)    slowsort(A, i, j-1)                               // (2)
  • 以慢速排序法排序前半部的元素(1.1)
  • 以慢速排序法排序后半部的元素(1.2)
  • 比较1.1及1.2排序结果的最后一个元素,选择相对较大的元素放到列表尾端(1.3)
  • 排除1.3的元素后,将列表剩下的元素以慢速排序法排序(2)

以 Haskell(纯函式编程语言)的实现如下:

slowsort :: Ord a =>  -> slowsort xs  | length xs <= 1 = xs  | otherwise      = slowsort xsnew ++   -- (2)    where        l     = slowsort $ take m xs  -- (1.1)      r     = slowsort $ drop m xs  -- (1.2)      llast = last l      rlast = last r      xsnew = init l ++ min llast rlast : init r      m     = fst (divMod (length xs) 2)

复杂度

慢速排序的运行时间关系式为 T ( n ) = 2 T ( n / 2 ) + T ( n 1 ) + 1 {displaystyle T(n)=2T(n/2)+T(n-1)+1} T ( n ) {displaystyle T(n)} 的渐近下限为 Ω ( n log 2 ( n ) ( 2 + ϵ ) ) {displaystyle Omega left(n^{frac {log _{2}(n)}{(2+epsilon )}}right)} for any ϵ > 0 {displaystyle epsilon >0} 。由于慢速排序渐近下限的时间复杂度不是多项式时间,即使在最好的情况下也比泡沫排序慢。

相关

  • 下议院议员列表希望联盟+2个信任供给政党(沙民兴党/沙民统)(2018-29日2月2020)最高元首后东姑阿兹纱阿蜜娜(英语:Tunku Azizah Aminah Maimunah)副最高元首苏丹纳兹林沙(马来语:Sultan Nazrin Muizu
  • 木户幸一木户幸一(1889年7月18日-1977年4月6日),日本东京人,侯爵,昭和时期政治家。京都大学毕业后进入农商务省。昭和2年(1927年)与近卫文麿、德川家达等人成立了火曜会。昭和5年(1930年)任内
  • 沉沦沉沦可以指以下事物:
  • 陶维英陶维英(越南语:Đào Duy Anh;1904年4月25日-1988年4月1日)越南近代学者。他对越南历史、地理、词典、文化和民间文学的研究做出了突出贡献。陶维英出生于清化省,后搬到河东省青威
  • 音素意识音素意识是语音意识的一个子集,其中听众能够听到,识别和操纵音素,音素是帮助区分意义单位(语素)的最小音量单位。将说出的单词“cat”分成三个不同的音素,/ k /,/æ/和/ t /,需要音
  • 车辆入侵车辆入侵是指蓄意滥用车辆上的软件、硬件以及通信系统漏洞。现代的车辆上有着许多的电脑来处理举凡车辆控制到信息娱乐的功能。这些车上的电脑设备,称作电控单元,电控单元间透
  • 张永清张永清(1915年-1967年),男,江西永丰人,中华人民共和国政治人物,曾任中华人民共和国纺织工业部副部长。
  • 程寒飞程寒飞(1973年2月-),安徽怀宁人,汉族,九三学社社员。中华人民共和国政治人物、第十三届全国人民代表大会安徽地区代表。2018年,被选为全国人大代表。
  • 孙侨潞孙侨潞(1995年6月12日-2021年1月1日),原名孙圳,女,广东深圳人,中国大陆网络红人,前演员、童星。2007年出演特摄剧集《巴啦啦小魔仙》凌美琪一角,由此广为公众知晓。2021年1月1日因心
  • 周希孟周希孟(约1013年-1054年),字公辟,南屿镇芝田村人,宋朝官员、名士。始祖周维岳随王审知入闽,二世周汉迁侯邑六都芝田(今闽侯县南屿镇芝田村)。少读《五经》,精于《易》学。曾任福州州学教授。与名士刘夔、曹颖叔、蔡襄等友好,与陈襄、陈烈、郑穆称“海滨四先生”。著有《易义》、《诗义》10卷、《春秋总例》12卷、《周四门文集》2卷等。