Java中八大排序算法是什么(java,开发技术)

时间:2024-05-04 05:27:53 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    Java%E4%B8%AD%E5%85%AB%E5%A4%A7%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95%E6%98%AF%E4%BB%80%E4%B9%88

基本思想

将新的数据插入已经排好的数据列中。

将第一个和第二个数排序,构成有序数列

然后将第三个数插进去,构成新的有序数列,后面的数重复这个步骤

Java中八大排序算法是什么

算法描述

1、设定插入的次数,即是循环次数,for(int i=1;i<length;i++),1个数的那次不用插入。

2、设定插入的数和得到的已经排好的序列的最后一个数,insertNum和j=i-1。

3、从最后一个数向前开始循环,如果插入数小于当前数就将当前数向前移动一位

4、将当前位置放置到空的位置,即j+1。

代码实现

基本思想

对于直接插入的数,数据量巨大:

1.将数的个数设置为n,取奇数k = n/2,将下标的差值k的数分为一组,构成有序数列。

2.再取k = k/2,将下标差值为k的数构成一组,构成有序数列,

3.重复第二步,直到k=1执行简单的插入排序

算法描述

1.首先确定分组的数字

2.然后对组中的数字进行插入排序

3.然后将length/2,重复1,2步骤。直到length=0为止。

代码实现

基本思想

常用于取序列数中最大最小的几棵树

(如果每次比较都交换,那么就是交换排序;如果每次比较完一个循环再交换,就是简单选择排序。)

1.遍历整个序列,将最小的数放在最前面

2.遍历剩余的序列,将最小的数字放在最前面

3.重复步骤2,知道剩余最后一个数字。

算法描述

1.首先确定循环次数,并且记住当前的位置和当前数字

2.将当前位置后面的所有数字和当前位置的数字作比较,小数赋值给key,并记住小值的位置

3.比对完成后,将最小的值和第一个数的值交换

4.重复2,3步骤

代码实现

基本思想:

对简单选择排序的优化

1.将序列构建为大顶堆

2.将根节点与最后一个节点兑换,然后断开最后一个节点

3.重复一二步骤,直到所有节点断开

代码实现:

基本思想

1.将序列中所有的元素两两比较

2.将剩余序列的所有元素两两比较,将最大的放到最后面

3.重复第二步,知道最后一个数

算法描述

1.设置循环次数

2.设置比较的位数和结束的位数

3.两两比较,将最小的放到前面去

4.重复2,3步骤,直到循环结束

代码实现

基本思想

要求时间最快

1.选择第一个数作为P,小于P的放左边,大于p的放右边

2.递归将p的左边和右边的数按照步骤一进行,直到不能递归

代码实现

基本思想

速度仅次于快排,内存少的时候使用,可以进行并行运算的时候使用。

1.选择相邻两个数组成的有序序列

2.选择相邻的两个有序序列组成的一个有序序列

3.重复步骤二,直到组成一个有序序列

基本思想

用于大量数,很长数进行排列

1.将所有的数的个数取出来,按照个位数排序,构成序列

2.将新构成的所有数的十位数取出,按照十位数进行排序

代码实现

本文:Java中八大排序算法是什么的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:怎么使用Java的发射机制遍历所有字段的修改值下一篇:

5 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18