慢速排序

✍ dations ◷ 2025-12-02 17:29:58 #慢速排序

慢速排序是一种排序算法。其基于合并排序的分而治之及递回的思想,并故意设计使排序过程非常缓慢。慢速排序由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} 。由于慢速排序渐近下限的时间复杂度不是多项式时间,即使在最好的情况下也比泡沫排序慢。

相关

  • 松萝红桧(学名:Chamaecyparis formosensis) 是柏科扁柏属大乔木,又称台湾红桧、松萝、薄皮、水古杉。1896年11月,竹山抚垦署长齐藤音作伙同林学博士本多静六组团抢攻玉山,误登最难攻顶
  • 能源业发展办公室能源业发展办公室(葡文:Gabinete para o Desenvolvimento do Sector Energético,GDSE)是澳门特别行政区的政府部门,负责促进和协调一切与能源业有关的活动。能源业发展办公室于2
  • 2013年电影2013年电影是2013电影大事纪。
  • 陈献章明人绘《陈白沙坐像》陈献章(1428年-1500年),字公甫,号实斋,广东新会县会城都会乡(今江门市新会区会城街道)人,后迁居白沙乡,世称白沙先生。明代著名的书法家、诗人、教育家、思想家,为
  • TS版TS版(英文:Telesync)是一种盗版的方式。和枪版的拍摄方法类似,但是它使用的是外置的音源(一般是影院座椅上为听力不好的人设的耳机孔)。不过这个直接的音源并不能保证是好的音源,这
  • 二川孝广二川孝广(1980年6月27日-)是一位日本足球运动员,司职中场,效力于大阪飞脚。是大阪飞脚的主阵容球员之一,并曾为国家队对加纳的比赛上场。更新日期: 2011年12月3日
  • 振铃效应在信号处理中,特别是数位影像处理 ,振铃效应是一种出现在信号快速转换时,附加在转换边缘上导致失真的信号。而在图像或影像上,振铃效应会导致出现在边缘附近的环带或像是"鬼影"
  • AZUAZU(1981年12月8日-),是一位女性日本流行音乐歌手,出生于日本三重县。*注:Japan Hot 100 成立于 2008年2月,RIAJ付费音乐下载榜成立于2009年4月。
  • 奥斯卡·比埃奥斯卡·比埃(挪威语:Oskar Bye,1870年6月3日-1939年4月30日),挪威男子竞技体操运动员。他曾获得1908年夏季奥运会体操比赛男子团体全能银牌。他也参加了届间运动会,并在体操男子团体全能项目上获得金牌。
  • 黑笋市镇黑笋市镇(越南语:Thị trấn Măng Đen)是越南崑嵩省公伯陇县的一个市镇,为公伯陇县县治,东邻孝社(越南语:Hiếu (xã))和嘉莱省、西邻芒甘社(越南语:Măng Cành)、南邻公瑞县、北邻奥丹社(越南语:Ngọc Tem),面积148.07平方公里,2018年人口6913人。黑笋位于西原高原的东北端,海拔在1200米以上。黑笋仍保留有西原稀有的原始森林,有丰富的玄武岩红壤带,植被以红松林为主。属温和凉爽的热带高原季风气候,气温通常在22摄氏度以下,年均气温18至20摄氏度,有许多溪流、