希尔排序  平均时间复杂度:O(nlogn)  不稳定的排序算法

v[0]与v[0+n/2]比较,v[1]与v[1+n/2]比较,v[2]与v[2+n/2]比较,小的放到前面,以此类推..............

关键部分代码如下:

public static void shell_sort(int[] data)
{int group = 0;int i = 0;int j = 0;int len = 0;int temp = 0;if (null == data) {return ;}len = data.length;///数组长度for (group = len / 2; group > 0; group /= 2) {for (i = group; i < len; i++) {for (j = i - group; j >= 0; j -= group) {if (data[j] > data[j + group]) {temp = data[j];data[j] = data[j + group];data[j + group] = temp;}}}}
}

排序算法之希尔排序(Java)相关推荐

  1. JAVA排序算法之希尔排序

    基本介绍 希尔排序是希尔(Donald Shell)于 1959 年提出的一种排序算法.希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序. 希尔排序法基本思 ...

  2. 排序算法之希尔排序(Java实现)

    希尔排序介绍 希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法.希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序. 希尔排序基本思想 ...

  3. 经典排序算法之希尔排序

    排序:希尔排序(算法) 一.简介 希尔排序(Shell Sort)是插入排序的一种算法,是对直接插入排序的一个优化,也称缩小增量排序. 希尔排序是非稳定排序算法. 希尔排序因DL.Shell于1959 ...

  4. [算法]-排序算法之希尔排序

    希尔排序算法思想 希尔排序的实质就是分组插入排序,该方法又称缩小增量排序. 基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个"增量"的元素组成的)分别进行直接插入排序 ...

  5. 排序算法:希尔排序算法实现及分析

    希尔排序算法介绍 希尔排序是D.LShell 与1957年提出来的一种排序算法,在这之前排序算法的时间复杂度都是O(n^2),希尔排序算法是突破这个时间复杂度的第一批算法之一.我们知道直接插入排序算法 ...

  6. C/C++排序算法(2)希尔排序

    常见排序算法总结(2)希尔排序 一篇文章,带你搞懂 希尔排序 (注:代码语言的选择不应该限制了我们对算法的理解) 文章附有动图!一看就懂! (1)工作原理 希尔排序,也称递减增量排序算法,是插入排序的 ...

  7. 排序算法(4)希尔排序

    排序算法(4)希尔排序 原理: 希尔排序也称缩小增量排序:希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序, 随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时(用gap ...

  8. php取名字算法,JavaScript排序算法之希尔排序的2个实例_基础知识

    插入排序在对几乎已经排好序的数据操作时, 效率高, 即可以达到线性排序的效率. 但插入排序一般来说是低效的, 因为插入排序每次只能将数据移动一位. 希尔排序按其设计者希尔(Donald Shell)的 ...

  9. 常见排序算法之希尔排序

    文章目录 1.概述 2.希尔排序之交换法 3.希尔排序之移动法 4.测试案例 1.概述 由于简单的插入排序每次数据量变多的时候,数据需要移动且交换数据的次数也会变多,继而影响效率.希尔排序就是在这个基 ...

  10. 我的Java开发学习之旅------gt;Java经典排序算法之希尔排序

    一.希尔排序(Shell Sort) 希尔排序(Shell Sort)是一种插入排序算法,因D.L.Shell于1959年提出而得名. Shell排序又称作缩小增量排序. 二.希尔排序的基本思想 希尔 ...

最新文章

  1. led灯bin值_「技术贴」如何判断LED透明屏正发光与侧发光的优劣?
  2. 炫酷背光文字html,详细PS教程大放送:如何快速做出高级创意的文字背光效果?...
  3. chrome中Blackbox Script 黑盒脚本作用及用法
  4. 【Logstash】记录一次logstash拉取数据很慢的问题
  5. 蓝牙鼠标windows linux,Ubuntu下使用蓝牙无线鼠标[图]
  6. 敬畏规则-不以规矩,不能成方圆
  7. 【闲聊产品】之一:半路出家的产品经理
  8. Unity3D 视频教程列表,共 91 套!
  9. oracle 数值加减乘除
  10. react中请求网络图片加载不出来的问题 解决
  11. 产品运营 第一章(黄有璨)
  12. 亚马逊影响者红人,用关联视频给卖家带来哪些好处?
  13. ASP.NET内置的6种验证控件的使用
  14. 计算机组装维修考点,计算机维修工(基础知识)—教材
  15. 这可能最全的操作系统面试题
  16. 悦刻打假再添战果 协助深圳警方捣毁华强北一售假窝点
  17. css弹性盒模型详解----flex-wrap
  18. [资源] Visual Studio 2015正式版离线iso及在线下载,附专业版和企业版可用key!
  19. 2020.10.25 删除文本的标点并转换成列表
  20. 前大灯是近光灯还是远光灯_汽车近光灯、远光灯正确使用方法以及图解

热门文章

  1. SublimeText2 快捷键
  2. 修改 cmd 字体为 Consolas
  3. PYTHON招聘需求与技能体系
  4. AaronYang WCF教程目录
  5. java中原始数据文件的输入
  6. 画图板-- 中点算法画圆
  7. SQLServer查询表结构
  8. android打印intent flag,Android flag详解
  9. python中最难的是什么_python什么的最难了
  10. 【机器学习】交叉验证筛选参数K值和weight