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

东莞做网站做什么赚钱短视频平台推广方案

东莞做网站做什么赚钱,短视频平台推广方案,成功案例展示网站,宿州网络推广公司文章目录 前言一、希尔排序的思想二、使用步骤总结 前言 希尔排序可以说是插入排序的一种变种。无论是插入排序还是冒泡排序,如果数组的最大值刚好是在第一位,要将它挪到正确的位置就需要 n - 1 次移动。也就是说,原数组的一个元素如果距离它…

文章目录

  • 前言
  • 一、希尔排序的思想
  • 二、使用步骤
  • 总结


前言

希尔排序可以说是插入排序的一种变种。无论是插入排序还是冒泡排序,如果数组的最大值刚好是在第一位,要将它挪到正确的位置就需要 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[i+h] ...*/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://www.fp688.cn/news/159121.html

相关文章:

  • 威客做的比较好的网站seopc流量排名官网
  • 淘宝客网站用什么软件做seo手机排名软件
  • 苏州 网站建设 app百度竞价网站
  • 哪些网站做外贸在线seo超级外链工具
  • 专业做微视频的网站武汉seo公司哪家好
  • 北京手机网站建设外包江苏网页设计
  • 公司网站备案需要什么材料建设企业网站多少钱
  • 网站建设工作 方案可以推广发广告的app
  • 局域网搭建惠州seo招聘
  • 苏州做网站公司什么是seo
  • 深圳网站建设html5seo搜索引擎优化知乎
  • 可以进入的网站网站推广的平台
  • 个人网站建设好之后怎么赚钱百度手机浏览器
  • 一个公司可以做多少网站广东网站seo策划
  • 中央政府网站的建设的意见竞价推广托管公司介绍
  • 天津网站优化步骤短信营销
  • 域名和网站建站公司链接营销qq官网
  • 全国做网站哪家好合肥seo按天收费
  • 医疗wordpressseo外链要做些什么
  • 网站开发与维护是干什么的seo网站优化服务商
  • 建设400官方网站爱站网关键词查询
  • 做网站电脑需要配置很好吗seo搜索优化邵阳
  • 如何建设一个自己的网站班级优化大师app
  • wordpress 企业网站主题百度搜索推广采取
  • 网站的交互怎么做引擎优化是什么意思
  • 珠海建网站杭州网站建设
  • 阜阳哪里有做网站的怎么注册自己的网站
  • 郑州网站优化方案扬州百度关键词优化
  • 技术支持 东莞网站建设bmapgmapseo效果最好的是
  • wordpress如何添加备案号seo管理是什么