• 什么是排序算法


    排序是程序员一直在用的,决定做个分类,陆续将各种排序的PHP实现写出来。喜欢的朋友可以看看。首先还是来看看对排序相关知识的介绍。

    在计算机科学技术和数学里,排序又称排序算法。一个排序算法(Sorting algorithm)是一种能将一串资料依照特定排序方式的一种算法。

    到这里,简单的说下算法吧。算法(Algorithm)是指完成一个任务所需要的具体步骤和方法。也就是说给定初始状态或输入数据,能够得出所要求或期望的终止状态或输出数据。算法常常含有重复的步骤和一些比较或逻辑判断。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。好了,不再去扩展空间复杂度和时间复杂度了。

    回到排序,最常用到的排序方式是数值顺序以及字典顺序。有效的排序算法在一些算法(例如搜寻算法与合并算法)中是重要的,如此这些算法才能得到正确解答。排序算法也用在处理文字资料以及产生人类可读的输出结果。基本上,排序算法的输出必须遵守下列两个原则:

    • 结果为递增序列,递增是针对所需的排序顺序而言,可能是数字顺序或者字典顺序
    • 结果是原输入的一种排列或重组

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

    关于排序的分类,有稳定的、不稳定的、不实用的排序算法。

  • 相关阅读:
    NOIp2014 Day2T3 解方程 秦九韶算法
    Luogu P1082 同余方程 拓展欧几里得
    Luogu P1351 联合权值 前缀和
    [USACO06JAN]冗余路径Redundant Paths 无向图tarjan缩点
    P1073 最优贸易 dp
    LOJ #6279. 数列分块入门 3
    LOJ #6278. 数列分块入门 2
    分块
    字典树Trie
    KMP
  • 原文地址:https://www.cnblogs.com/yyjie/p/7485016.html
Copyright © 2020-2023  润新知