排序算法

✍ dations ◷ 2025-08-10 17:22:03 #排序算法

在计算机科学与数学中,一个排序算法(英语:Sorting algorithm)是一种能将一串数据依照特定排序方式进行排列的一种算法。最常用到的排序方式是数值顺序以及字典顺序。有效的排序算法在一些算法(例如搜索算法与合并算法(英语:Merge algorithm))中是重要的,如此这些算法才能得到正确解答。排序算法也用在处理文字数据以及产生人类可读的输出结果。基本上,排序算法的输出必须遵守下列两个原则:

虽然排序算法是一个简单的问题,但是从计算机科学发展以来,在此问题上已经有大量的研究。举例而言,冒泡排序在1956年就已经被研究。虽然大部分人认为这是一个已经被解决的问题,有用的新算法仍在不断的被发明。(例子:图书馆排序在2004年被发表)

在计算机科学所使用的排序算法通常被分类为:

当相等的元素是无法分辨的,比如像是整数,稳定性并不是一个问题。然而,假设以下的数对将要以他们的第一个数字来排序。

                    (        4        ,        1        )        (        3        ,        1        )        (        3        ,        7        )        (        5        ,        6        )              {\displaystyle (4,1)(3,1)(3,7)(5,6)}  

在这个状况下,有可能产生两种不同的结果,一个是让相等键值的纪录维持相对的次序,而另外一个则没有:

                    (        3        ,        1        )        (        3        ,        7        )        (        4        ,        1        )        (        5        ,        6        )              {\displaystyle (3,1)(3,7)(4,1)(5,6)}   (維持次序)                    (        3        ,        7        )        (        3        ,        1        )        (        4        ,        1        )        (        5        ,        6        )              {\displaystyle (3,7)(3,1)(4,1)(5,6)}   (次序被改變)

不稳定排序算法可能会在相等的键值中改变纪录的相对次序,但是稳定排序算法从来不会如此。不稳定排序算法可以被特别地实现为稳定。作这件事情的一个方式是人工扩展键值的比较,如此在其他方面相同键值的两个对象间之比较,(比如上面的比较中加入第二个标准:第二个键值的大小)就会被决定使用在原先数据次序中的条目,当作一个同分决赛。然而,要记住这种次序通常牵涉到额外的空间负担。

在这个表格中, n {\displaystyle n} 是要被排序的纪录数量以及 k {\displaystyle k} 是不同键值的数量。

相关

  • 细胞生物学细胞生物学(英语:cell biology)旧称细胞学(cytology),是研究细胞的形态结构、生理机能、细胞周期、细胞分裂、细胞自噬、细胞凋亡, 以及各种胞器及讯息传递路径的学科。研究范围专
  • 脸(“脸”通“面”、脸又称脸孔、脸庞、颜脸)是人类和动物的多种感觉器官的集合。脸通常位于头部的正面,而且通常只有一个。脸的范围约为额至颔。包括额、眉、睫毛、眼、鼻、耳
  • 美国细胞生物学学会美国细胞生物学学会(American Society for Cell Biology),简称ASCB, 是一个成立于1960年的学会。它在ASCB官方网站上的宗旨宣示如下:ASCB 是一个涵盖性的,国际性的,由研究细胞与
  • 社会科学环境社会科学是人类与自然环境之间相互关系的广泛的跨学科研究课题。环境社会科学家在人类学、传播学、经济学、地理学、历史学、政治学、心理学和社会学等学术领域中开展研
  • 费雷德里克·戴克拉克弗雷德里克·威廉·德克勒克(南非语:Frederik Willem de Klerk,1936年3月18日-),南非政治家,该国迄今为止的最后一任白人总统,也是废除种族隔离制度的推手。德克勒克出生于约翰内斯
  • 奇数在数学中,奇偶性是对于整数的一种性质,每个整数都可被分为奇数或偶数:可被 2 {\displaystyle 2} 整除者是偶数(包括
  • 喙壳纲原口动物 Protostomia喙壳纲(学名:Rostroconchia)是软体动物门中的一个纲,这一纲动物目前未发现有生种,全部为化石种。本纲动物的形态接近双壳类,所以在发现之初,曾以为是同类物种
  • 闽南语连续变调连续变调(continuous tone sandhi)是闽南语的变调规则,即单一汉字的声调会因为与其他汉字组合成词或句而改变其声调;也就是说,语句中所使用的声调并非汉字本调的现象。连续变调对
  • 海洋生物学家海洋生物学是研究在海洋性生存空间(即大海以及大洋)中栖息的生物及其生活历程的科学。 海洋生物的实地考察主要是由海洋考察队实行的。此外渔业也提供了一定的供科学研究的材
  • 鲜花饼鲜花饼是一种以食用花卉(主要为食用玫瑰花)入馅的酥饼,为中国传统糕点,以酥脆爽口、花香沁心而著称。鲜花饼的历史可追溯到清朝,据晚清《燕京岁时录》记载:“四月以玫瑰花为之者,谓