慢速排序

✍ dations ◷ 2025-11-27 16:03:45 #慢速排序

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

相关

  • 普萨美提克三世普萨美提克三世(Psammetique III)是古埃及第二十六王朝的最后一位法老。他的执政期为前526年至前525年。我们对他的统治和生活所了解的大部分内容来自于前5世纪希腊历史学家希
  • 侗族(侗语作Gaeml, 宽式IPA:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucida Sans Unicode","Code2000","Gentium","Ge
  • 蓝色三角尺蓝色三角尺(日文:青い三角定規/あおいさんかくじょうぎ  ?),是1971年结成的日本民谣团体,由西口久美子、岩久茂、高田真理三人构成,作曲家泉隆(日语:いずみたく)担任制作人。乐团于1
  • 埃克塞特 (加利福尼亚州)埃克塞特(英文:Exeter),是美国加利福尼亚州图莱里县下属的一座城市。建市于1911年3月2日,面积 大约为2.46平方英里 (6.4平方公里)。根据2010年美国人口普查,该市有人口10,334人。
  • 舞台老妈《舞台老妈》(英语:Stage Mother)是一部于2020年上映的包含变装主题在内的加拿大LGBT歌舞喜剧电影。该片由汤姆·菲茨杰拉德(英语:Thom Fitzgerald)执导并由布拉德·亨尼格(Brad He
  • 藤间仁藤间仁(1981年10月16日-),日本作曲家、编曲家,出身于东京都葛饰区。目前隶属于音乐团体“Elements Garden”。自参与妻子上松美香的CD制作开始,以动画歌曲歌手为主提供乐曲及编曲
  • 2018年铁路此条目列出2018年发生有关铁路运输的事件。
  • 杰弗里·伯比奇杰弗里·罗纳德·伯比奇,FRS(英语:Geoffrey Ronald Burbidge,1925年9月24日-2010年1月26日),英国天文学家,最后工作地点是美国圣地牙哥加利福尼亚大学。妻子是天文学家玛格丽特·伯比奇。杰弗里·罗纳德·伯比奇一开始在布里斯托大学主修历史,后将主修改为物理,之后在1951年于伦敦大学学院取得物理学博士。他在就读博士班期间他遇到了他的妻子玛格丽特·伯比奇(原姓 Peachey),两人在1948年结婚。玛格丽特·伯比奇在加州理工学院获得职位以前,伯比奇夫妇曾在哈佛大学、芝加哥
  • 叶元章叶元章(1922年-2019年),上海人,中国诗人、作家。笔名听鹂。上海市作家协会会员。曾任中华诗词学会理事、浙江省诗词楹联学会副会长、宁波诗社副社长等职务。1922年生于上海,祖籍宁波镇海。毕业于上海财经学院。曾先后在上海财经学院、青海民族学院任教,从事汉语、中国古代文学教学研究。1986年,因宁波大学创建而受聘回到宁波。2004年退休,定居上海。曾参与发起成立中华诗词学会,并任上海诗词学会顾问。2016年在宁波慈善总会创立“叶氏静观”小额冠名基金。2019年6月30日凌晨因病医治无效在上海去世。著有诗
  • 柳甫柳甫(2世纪-238年)一作柳浦,三国时期辽东燕王公孙渊的御史大夫。魏明帝景初元年(237年),公孙渊自立为燕王,建元绍汉。绍汉二年(238年),司马懿率军讨伐公孙渊。公孙渊战败,八月,公孙渊派遣相国王建、御史大夫柳甫请求解围退兵,如果同意,君臣定当自缚面降。司马懿命斩来使,用檄文通知公孙渊,自己是天子的上公,而王建、柳甫想要我解围后退,为人失礼,两个老糊涂已被我杀掉。