慢速排序

✍ dations ◷ 2025-01-11 06:05:29 #慢速排序

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

相关

  • 多食症多食症(英语:polyphagia或hyperphagia),也作食欲过旺,是指极度的饥饿或食欲的增加。在医学中,多食症是一个医学征象,暗示着极度的饥饿饥饿状态,以及反常的固体食用,可由糖尿病、克莱
  • 热电发电热传导发电机,也称为塞贝克发电器,是运用热电效应(塞贝克效应)将热(温度差)直接转换成电能的一种装置。大致上转换效率约为5-8%。基于赛贝克效应的旧式装置使用双金属接面,并且非常
  • 核心局核心局(日语:キー局/キーきょく Kī kyoku ?;英语:Key station)是日本商业广播业界用语,指电视联播网或广播联播网中位于首都东京的放送局(中文直译为“广播台”,此指电视台或广播
  • 约翰·福布斯·纳什小约翰·福布斯·纳什(英语:John Forbes Nash Jr.,1928年6月13日-2015年5月23日),美国数学家,前马萨诸塞理工学院摩尔荣誉讲师,主要研究博弈论、微分几何学和偏微分方程。晚年为普林
  • 世界报 (德国)《世界报》(德语:)是德国的一份跨地区发行的日报,由阿克塞尔施普林格股份公司发行,报社总部位于汉堡和柏林。《世界报》是由第二次世界大战的战胜国于1946年4月2日在属于当时英国
  • LPGA台湾锦标赛LPGA台湾锦标赛(英语:LPGA Taiwan Championship)是LPGA巡回赛的其中一场赛事,于2011年(英语:2011 LPGA Tour)在台湾桃园县杨梅镇(后改制为桃园县杨梅市,今桃园市杨梅区)扬昇高尔夫乡村
  • 埃托雷·马约拉纳埃托雷·马约拉纳(意大利语:Ettore Majorana,意大利语:,1906年8月5日-1938年3月27日?)是一名意大利理论物理学家。他是中微子质量研究的先驱,并提出了马约拉纳方程。1938年左右离奇失
  • 重力回溯及气候实验卫星重力回溯及气候实验卫星(Gravity Recovery and Climate Experiment,缩写:GRACE,也称为重力反演和气候实验或重力量测及气候监控卫星)是一项由NASA与德国宇航中心(DLR)合作的任务,该
  • 爱情弹弹球/月台《爱情弹弹球/月台》(日语:恋のスーパーボール/ホーム),日本女性创作歌手aiko的第28张单曲。2011年5月11日发行。前作《面对面》约一年之后发行。aiko第三次双A面单曲,自2009年的《
  • 蒂姆·巴塞特尤金·蒂莫西·巴塞特(英语:Eugene Timothy Bassett,1951年4月1日-2018年12月9日),美国NBA联盟前职业篮球运动员。他在1973年的NBA选秀中第7轮第3顺位被布法罗勇士选中。