排序算法篇_概述

image

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

  排序(Sort)是将一组数据按照一定的规则进行排列的,一般按照递增或者递减的顺序来进行排列。排序算法是一种最基本的算法。排序虽然看似是一个很简单的问题,但是在实际的应用场合往往面临一些困难。这是因为实际应用中的数据量往往很庞大,这样算法的效率和顺序的速度就是一个很大的问题。我们往往需要寻找一个搞笑的排序算法,因此便演变出了各种排序算法。

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

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

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

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

你可能感兴趣的:(排序算法篇_概述)