当前位置: 首页 > news >正文

建设集团网站 技术支持中企动力昆明网站建设加q.479185700

建设集团网站 技术支持中企动力,昆明网站建设加q.479185700,网站列表设计,公司网站怎么免费建文章目录 前言一、希尔排序的思想二、使用步骤总结 前言 希尔排序可以说是插入排序的一种变种。无论是插入排序还是冒泡排序#xff0c;如果数组的最大值刚好是在第一位#xff0c;要将它挪到正确的位置就需要 n - 1 次移动。也就是说#xff0c;原数组的一个元素如果距离它… 文章目录 前言一、希尔排序的思想二、使用步骤总结 前言 希尔排序可以说是插入排序的一种变种。无论是插入排序还是冒泡排序如果数组的最大值刚好是在第一位要将它挪到正确的位置就需要 n - 1 次移动。也就是说原数组的一个元素如果距离它正确的位置很远的话则需要与相邻元素交换很多次才能到达正确的位置这样是相对比较花时间了。希尔排序就是为了加快速度简单地改进了插入排序交换不相邻的元素以对数组的局部进行排序。 一、希尔排序的思想 采用插入排序的方法先让数组中任意间隔为 h 的元素有序刚开始 h 的大小可以是 h n / 2,接着让 h n / 4让 h 一直缩小当 h 1 时也就是此时数组中任意间隔为1的元素有序此时的数组就是有序的了。 为方便理解我还准备了图片 如果还是不懂的话我还给你准备了优质的文章讲解希尔排序 二、使用步骤 public class ShellSort {public static int[] shellSort(int arr[]) {if (arr null || arr.length 2) return arr;int n arr.length;// 对每组间隔为 h的分组进行排序刚开始 h n / 2;for (int h n / 2; h 0; h / 2) {//对各个局部分组进行插入排序for (int i h; i n; i) {// 将arr[i] 插入到所在分组的正确位置上insertI(arr, h, i);}}return arr;}/*** 将arr[i]插入到所在分组的正确位置上* arr[i]] 所在的分组为 ... arr[i-2*h],arr[i-h], arr[ih] ...*/private static void insertI(int[] arr, int h, int i) {int temp arr[i];int k;for (k i - h; k 0 temp arr[k]; k - h) {arr[k h] arr[k];}arr[k h] temp;} }总结 需要注意的是对各个分组进行插入的时候并不是先对一个组排序完了再来对另一个组排序而是轮流对每个组进行排序。 性质 1、时间复杂度O(nlogn) 2、空间复杂度O(1) 3、非稳定排序 4、原地排序
http://wiki.neutronadmin.com/news/452803/

相关文章:

  • 怎么在网站后面制作官网俩个字校园网站建设培训简讯
  • 做求职网站市场织梦淘宝客网站
  • 系统的网站建设教程开发软件的工具
  • 公司网站建设要注意什么石墨网站开发
  • 怎样做自己公司的网站免费传奇无充值
  • 做直播导航网站好重庆网站建站建设平台
  • 网站flash代码网站首页布局的设计
  • 跨境电商东莞网站建设微信公众号转入公司网站建设
  • 网站建设 管理wordpress 知更鸟
  • 怎么打开google网站乐清市规划图高清
  • 网站图片如何居中北京的广告公司网站建设
  • 意识形态建设专题网站如何利用wordpress卖产品
  • 郑州外贸建站qq云端服务器
  • 网站收录优化公司网站制作范文
  • 如何做自己的简历网站郑州工商注册
  • 关键词是网站seo的核心工作织梦网站管理安装
  • 网站开发啊做电商怎么建网站
  • 支付单页网站模板网站建设成都哪家公司好
  • 深圳华南城网站建设下载网址大全到桌面
  • 课程网站模板用手机做网站好学吗
  • 浙江手机版建站系统信息阿里巴巴网站运营
  • 做互助盘网站多少钱门户网站建设目标
  • 正版传奇手游官方网站做网站是要写代码的吗
  • 网站里添加聊天框怎么做企业公司建网站的步骤
  • 制作网站公司名称工会网站建设请示
  • 做网站维护的是什么公司网站自适应手机代码
  • 音乐网站后台管理模板公众号 商城 网站开发
  • 企业网站建设费是无形资产吗做网站下载哪个软件
  • 上海网站建设服务商你认为什么是网络营销
  • 青白江建设局网站辰景青岛网站建设