一:冒泡排序
大学课程里面第一个排序算法,它的基本思想是每一个不断的遍历数组,每次遍历总是把最大的那个数找出来放到数组的尾部。经过n轮遍历之后,就排序完成。
二:插入排序
核心思想是:将一个数插入到一个有序表中,形成一个新的有序表
三:选择排序
核心思想是:遍历数组找出最大的那个数,然后插入到合适的正确的位置,这个跟冒泡很像
四:堆排序
这是所有排序中我觉得最复杂的一个,核心思想:其实也是找出最大值,然后也是插入到正确位置,只是找出最大值得办法是使用大顶堆,它的根就是最大值,然后与堆的最后一个节点交换,再进行向下堆调,成为一个新堆,这样重复,直到堆为空。
那么步骤是:1:建堆2:交换3:向下堆调
五:计数排序
核心思想:对于特定元素x来说,如果确定了序列中比其小的元素的个数。那么就能确定x的位置了,a数组中的数都为非负整数。如果有负数,则因该加上一个数,使其为正。
在这个程序中我们创建了两个大数组,一个用于计数,一个用于临时存储。
六:归并排序
归并排序使用了分治的思想,将一个大的排序分为若干个小的排序
归并排序分为自顶向下,自底向上的排序,当然我们熟知的是自顶向下
后者与前者的区别主要在于后者是合并的过程,而前者是划分的过程,前者与快速排序的思想很相像。下面来看一下它的实现过程。
七:快速排序
快速排序是一个也是典型的分治
八:希尔排序
先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。所有距离为d1的倍数的记录放在同一个组中。先在各组内进行直接插入排序;然后,取第二个增量d2<d1重复上述的分组和排序,直至所取的增量dt=1(dt<dt-l<…<d2<d1),即所有记录放在同一组中进行直接插入排序为止。
九:基数排序
这个描述起来比较复杂,算是归纳法的一种吧。实现方式就是一下的,没有这么写注释,就是按照十进制位来排序,比如先第一位排序,然后按照第二位,直到最高位,需要比较大的空间开销。
分享到:
相关推荐
提供了Java实现几种常见排序方法和原理介绍
用Java实现几种常见的排序算法.txt
java排序算法,包括冒泡、插入、快速、选择等四种最常见的排序算法
Java中几种比较常见的排序方法,像冒泡、快速排序、插入排序登。
JAVA几种常用的经典的排序算法 冒泡 选择 快速 shell 堆排序
几种常见排序算法JAVA实现.pdf
java 几种常用的排序算法 java 几种常用的排序算法
Java几种常见的排序算法
用Java实现几种常见的排序算法.txt
几种常见排序算法(JAVA实现).pdf
Java实现几种常见的排序算法 ,共享一下
自己写的几个排序方法的实现,其中快速排序需要做一些调整。希望对你有所帮助
用Java实现几种常见的排序算法(经典收藏)
对Oracle 排序中的几种常用排序的介绍。主要介绍一些常用的排序
java实现的常用的几种基本排序算法,插入、交换、选择、归并