排序算法

作者: 敲代码的蝌蚪 | 来源:发表于2019-04-21 19:07 被阅读35次

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

排序算法概述:

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

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

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

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

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

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

1、排序算法的分类图

相关文章

  • java实现快速排序、归并排序、希尔排序、基数排序算法...

    快速排序算法 归并排序算法 希尔排序算法 基数排序算法

  • web开发需要知道的几个算法

    算法分类 快速排序算法 深度优先算法 广度优先算法 堆排序算法 归并排序算法

  • 算法学习(1)-排序算法

    八大排序算法九大排序算法再总结[经典排序算法][集锦][直观学习排序算法] 视觉直观感受若干常用排序算法 快速排序...

  • 经典排序算法总结

    经典排序算法集锦 冒泡法 排序算法入门之冒泡排序 排序算法入门之冒泡排序优化

  • 前端算法学习-第一篇

    冒泡排序算法 冒泡排序算法是最慢的排序算法之一,也是最容易实现的排序算法。之所以叫冒泡排序是因为使用这种算法排序时...

  • 七大排序算法之冒泡排序

    七大排序算法之冒泡排序 @(算法笔记)[排序算法, 冒泡排序, C++实现] 冒泡排序介绍 冒泡排序是七大排序算法...

  • 算法-选择排序

    算 法:选择排序算法时间复杂度: 选择排序算法概述 选择排序伪代码 选择排序实现 选择排序算法概述 排序算法有许...

  • 浅谈排序算法

    排序算法有很多种,今天先谈谈一些简单的排序算法。包括桶排序、冒泡排序和快速排序算法。后期总结各种排序算法。 桶排序...

  • 线性排序

    桶排序、计数排序、基数排序 一、线性排序算法介绍 1.线性排序算法包括桶排序、计数排序、基数排序。2.线性排序算法...

  • 算法4:插入排序和选择排序算法的比较

    排序算法列表电梯: 选择排序算法:详见 《算法4》2.1 - 选择排序算法(Selection Sort), Py...

网友评论

    本文标题:排序算法

    本文链接:https://www.haomeiwen.com/subject/awpjgqtx.html