慢速排序

✍ dations ◷ 2025-12-05 17:46:57 #慢速排序

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

相关

  • 肌肉僵直张力亢进(英语:Hypertonia、肌肉压力过高、肌肉张力亢进、肌肉僵直),在文献中、有时等同于反射亢进(Spasticity/hyperreflexia),指的是中枢神经系统周围损伤所引起的亢进、亦即
  • 2000年夏季奥林匹克运动会篮球比赛2000年夏季奥林匹克运动会篮球比赛共有男、女各12支队伍参加。美国队最终包揽了男子、女子项目的冠军。预选赛分为两个小组,每个小组6支队伍,排名前4的队伍晋级。
  • 北京医科大学北京大学医学部,简称“北医”,英文简称“PKUHSC”,是北京一所以医药卫生为主的高等院校,位于北京市海淀区学院路38号,原名北京医科大学,2000年5月4日并入北京大学。北医前身是国立
  • 尼克松中心国家利益中心(Center for the National Interest),常称尼克松中心(Nixon Center)是一个总部位于美国华盛顿特区的公共政策智库,负责出版讨论美国外交政策的双月刊《国家利益》,并积
  • 舒 (埃及神祇)舒(Shu),又名苏,是埃及神话中的大气之神、空气之神、天空的化身亦是思考与听觉的支配者,属赫里奥波里斯九柱神之一。其名字有“干旱、烤干、枯竭”意思。舒是亚图姆透过他的呼息
  • 亚哥花园亚哥花园(英语:Encore Garden),是台湾中部一座大型花园及已停业游乐园,位于台中市北屯区大坑风景区,曾是台中市知名观光景点之一,以种植各种花卉奇树和水舞表演为卖点,亦有游乐设施
  • 阿朱阿朱,金庸武侠小说《天龙八部》女主角之一,段正淳与阮星竹之亲生长女,阿紫的亲姐姐,极善于易容改装,原为慕容复侍女。阿朱为大理国“镇南王”段正淳与情妇之一阮星竹所生的第一个
  • 孤立系统在经典力学之中,孤立系统(或孤悬系统)是指一个不与系统外产生相互作用的系统,系统动量并不会增加或减少。在热力学之中,孤立系统(或孤悬系统)是指一个完全不与外界交换能量或质量
  • 冈格阿瓦利冈格阿瓦利(Gangavalli),是印度泰米尔纳德邦Salem县的一个城镇。总人口10584(2001年)。该地2001年总人口10584人,其中男性5332人,女性5252人;0—6岁人口1123人,其中男585人,女538人;识
  • 日月太保日月太保,也称日月太子、日月使者、日月大使、日月舍人、相伴舍人,泉州各地所奉祀的两名孩童神。相传可以保佑孩童免于生病,但由于许多女佛灵媒奉祀此神,常被民众质疑为类似有应公信仰。关于日月太保的来历与源流不详,民间众说纷纭,以“端宗、帝昺兄弟”说最流行。说法如下: