排序算法

在各类算法中,排序算法是最基本的内容。现实生活中常需要将一些数据按从小到大或者从大到小的顺序来进行排列。对于一个排序好的序列来说,查找最大值、最小值、遍历、计算和求解等操作都十分方便。因此,下面首先介绍各种排序算法。

排序算法概述:

排序(Sort)是将一组数据按照一定的规则来进行排列,一般按递增或递减的顺序来进行排列。排序算法是一种最基本的算法。排序虽然看似是一个简单的问题,但是在实际的应用场合往往面临一些问题。往往需要寻找一个高效的排序算法,因此便演变出了多种排序算法。

排序算法的分类,如图1所示。最基本的排序算法包括交换排序算法、选择排序算法、插入排序算法和合并排序算法。其中,交换排序主要包括冒泡排序算法和快速排序算法;选择排序算法主要包括选择排序算法和堆排序算法;插入排序主要包括插入排序算法和Shell排序算法。

上诉几种基本排序算法直接对计算机内存中的数据进行排序。而对于一些大的文件,由于计算机的内存有限,往往不能直接将其读入内存进行排序。这是可以采用多路归并排序,将文件划分为几个能够读入内存的小部分,然后分别读入进行排序,经过多次处理即可完成大文件的排序。

每一种排序算法都有其各自的特点,往往在某些特定的场合具有比较好的执行效率。因此,需要根据实际问题的需要来合理选择排序算法。下面对排序算法进行详细的介绍。

在实际应用中,基本的排序对象是整数,而基本排序规则包括从小到大排序和从大到小排序。下面主要以整型数据从小到大进行排序为例来讲解。对于其他类型的数据,或者从大到小的排序方法类似。

                                                                                -------《Java常用算法手册》

1、排序算法的分类图
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最近在学习算法,对此也做一个总结: 排序对于任何一个程序员来说,可能都不会陌生。你学的第一个算法,可能就是排序。大...
    被吹落的风阅读 3,215评论 0 28
  • 一、概述 排序算法概念 在计算机科学与数学中,一个排序算法是将一组杂乱无章的数据按一定的规律顺次排列起来的算法。排...
    简书冷雨阅读 1,070评论 0 0
  • 1.1 排序算法 1.1.1 排序的介绍 排序是将一群数据,依指定的顺序进行排列的过程。 排序分类: 1、内部排序...
    海若Hero阅读 1,036评论 0 4
  • 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    蚁前阅读 5,237评论 0 52
  • 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    闲云清烟阅读 773评论 0 6