慢速排序

✍ dations ◷ 2025-12-09 22:16:01 #慢速排序

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

相关

  • 联邦政府总理澳大利亚主题澳大利亚总理是澳大利亚联邦政府的首脑,由澳大利亚总督代表君主任命。《澳大利亚宪法》没有明确提到总理一职,因此总理的存在和职权皆由惯例来确定。按照威斯敏斯
  • 1999年法国网球公开赛女子单打比赛阿兰查·桑切斯·维卡里奥是上届冠军,但在半决赛败给本届亚军玛蒂娜·辛吉斯。施特菲·格拉芙是本届冠军,决赛以4-6 7-5 6-2逆转击败玛蒂娜·辛吉斯,夺得第6座法网女子单打冠军
  • 奥斯卡·辛德勒奥斯卡·辛德勒(德语:Oskar Schindler,1908年4月28日-1974年10月9日)是一位德国资本家、间谍和纳粹党党员,于第二次世界大战期间在现今位于波兰和捷克共和国境内的地区开设搪瓷和
  • 株洲红旗路高架桥坍塌株洲红旗路高架桥坍塌发生于2009年5月17日下午16时24分。湖南株洲市红旗路待拆除的高架桥全长约2750米,约有160米坍塌。据中国官方媒体报导,倒塌桥梁压毁24辆车,包括1辆公交车,
  • 徐致一徐致一(1892年-1968年),男,浙江嘉兴人,中国太极拳家,曾任上海精武体育会理事长,中国武术协会委员。
  • LedaLeda(日:レダ,1987年6月9日 - )是日本的吉他手、贝斯手、词曲作家。出生于三重县。本名不详。14歳开始弹吉他。高中时与孝介(后来是DEATHGAZE(日语:DEATHGAZE)的贝斯手)组成了“Crims
  • 大学站 (慕尼黑地铁)大学站(德语:U-Bahnhof Universität)是一座慕尼黑地铁3号线和6号线位于马克斯近郊的一座车站,位于音乐厅广场站和吉瑟拉大街站之间,毗邻慕尼黑大学主校区。此站可换乘公交150路
  • 尼科洛兹·巴西拉什维利尼科洛兹·巴西拉什维利(格鲁吉亚语:ნიკოლოზ ბასილაშვილი,转写:Nikoloz Basilashvili,1992年2月23日-),乔治亚职业网球男运动员。他曾参加过2016年夏季奥林匹克运动会,最终在第一轮比赛中被乌拉圭选手巴勃罗·奎瓦斯淘汰。
  • 皮特·德雅尔丹皮特·德雅尔丹(法语:Pete Desjardins,1907年4月12日-1985年5月6日),美国男子跳水运动员。他曾代表美国参加1924年和1928年夏季奥林匹克运动会跳水比赛,获得二枚金牌和一枚银牌。
  • 梨园春梨园春是中国河南卫视的一档以戏曲擂台赛为主的栏目,栏目最早的策划和创办人是周迪君。每星期日播出,播出节目以豫剧为主,主要形式为观众自主报名参加擂台赛。该栏目于1994年开播,在中国大陆最早将“海选”的概念引入戏曲节目中。对弘扬河南文化、戏曲文化,发展豫剧做出了重大贡献,提升了整个戏曲的发展环境,培养了大量的戏曲观众,使戏曲艺术有了雄厚的群众基础,并得以传承发展。2005年,中国某陈姓女国务委员对《梨园春》栏目作出批示称:河南的好做法值得推广。2008年12月4日,中国广电总局副局长胡占凡批示称:戏曲类节目