慢速排序

✍ dations ◷ 2025-12-06 20:28:40 #慢速排序

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

相关

  • Co(PhCOO)sub2/sub苯甲酸钴是Co2+的苯甲酸盐,化学式为(C6H5COO)2Co,存在无水物、一水合物和四水合物。苯甲酸钴可由苯甲酸钠和硫酸钴反应制备:也能利用苯甲酸和碳酸钴的反应得到:
  • 20032003年欧洲歌唱大赛为第48届之欧洲歌唱大赛,于2003年5月24日在拉脱维亚首都里加举行。本次主题为"Magical Rendez-vous" (中文:魔力的约会)。主持人为Marie N与Renārs Kaupe
  • 通用光盘格式通用光盘格式(Universal Disk Format,简称UDF)是一个使用在光学存储媒体的文件系统的规格。它实行了ISO/IEC 13346标准(亦称为ECMA-167)。它亦是用作取代ISO 9660,现时已经广泛地
  • 利奥波德咖啡馆利奥波德咖啡馆,是一间在印度孟买的餐厅,在警局对面。这间咖啡馆整天有外国人光顾,因为在2003年,有位畅销澳洲的作家格里高利·罗伯兹(Gregory David Roberts)在其自传小说《项塔
  • 霞浦县第七中学霞浦县第七中学,简称霞浦七中,是一所位于福建省霞浦县的二级达标中学,创办于1987年,是福建省首批体育(足球)特色学校之一。霞浦县第七中学是经福建省教育厅注册登记,于1987年创办一
  • 方惟深方惟深(1040年-1122年),字子通,莆田城厢后埭人。早年随父住长洲(今江苏苏州),乡贡第一,后进士不第,遂放弃举业。工于诗,很受王安石赏识。著有《方秘校集》十卷。
  • 我的居酒屋日记《我的居酒屋日记》(日语:ちょっといっぱい!)是日本漫画家火曜(日语:火曜 (漫画家))的漫画作品。于芳文社的杂志《Manga Time Kirara Forward》2016年7月号开始连载,已发行单行本8册。中文版由台湾青文出版社代理发行,已发行3册。宫原红叶在升上高中后便离开了家里一个人独居。某天放学后,因弄丢车票而走路回家的红叶在路上发现了一间居酒屋“季节菜色酒场 小春屋”,却在这时被刚好从店里走出来的千百合误认为是新来的员工而被拉进店里帮忙。在这次突然的经验后,红叶决定继续待在这间居酒屋打工,也
  • .td.td为乍德国家及地区顶级域(ccTLD)的域名。A .ac .ad .ae .af .ag .ai .al .am .ao .aq .ar .as .at .au .aw .ax .az  B .ba .bb .bd .be .bf .bg .bh .bi .bj .bm .bn .bo .br .bs .bt .bw .by .bz  C .ca .cc .cd .cf .cg .ch .ci .ck .cl .cm .cn .co .cr .cu .cv .cw .cx .cy .cz  D .de
  • 1480年
  • 可信执行环境可信执行环境(trusted execution environment)简称TEE,是中央处理器中安全的区域,可以保证其中的程式和资料在机密性和完整性上得到保护.。TEE是隔离的执行环境,可以有安全的机能,例如隔离执行、和TEE一起执行的应用程序完整性,也包括其资产的机密性。用一般的术语来说,TEE提供安全性更高的执行空间,给可信软件执行,其安全性比操作系统(OS )更强,机能性比安全元件(secure element)更多。