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

.net开发大型网站开发中国水电建设集团港航建设有限公司网站

.net开发大型网站开发,中国水电建设集团港航建设有限公司网站,网站建设方案样本,网页美工怎么做目录 1. 原理 2. 代码实现 3. 性能分析 1. 原理 希尔排序法又称缩小增量法。希尔排序法的基本思想是:先选定一个整数,把待排序文件中所有记录分成个组,所有距离为的记录分在同一组内,并对每一组内的记录进行排序。然后&#xf…

目录

1. 原理

2. 代码实现

3. 性能分析


1. 原理

希尔排序法又称缩小增量法。希尔排序法的基本思想是:先选定一个整数,把待排序文件中所有记录分成个组,所有距离为的记录分在同一组内,并对每一组内的记录进行排序。然后,取,重复上述分组和排序的工作。当到达=1时,所有记录在统一组内排好序。

(1)希尔排序是对直接插入排序的优化。
(2)当gap > 1时都是预排序,目的是让数组更接近于有序。当gap == 1时,数组已经接近有序的了,这样就会很快。这样整体而言,可以达到优化的效果。我们实现后可以进行性能测试的对比。

 

2. 代码实现

    //希尔排序public static void shellSort(int[] array){int gap = array.length;while(gap > 1){shell(array,gap);gap /= 2;//增量是多少都可以,随便小伙伴们写}shell(array,1);}//有增量的直接插入排序//不是一组希尔排序全部排完,是间隔性的,可能是第一组先插一个,第二组再插一个,第一组再插……private static void shell(int[] array,int gap){for(int i = gap;i < array.length;i++){int tmp = array[i];int j = i - gap;for(;j >= 0;j -= gap){if(array[j] > array[j+gap]){array[j + gap] = array[j];}else{break;}}array[j + gap] = tmp;}}public static void main(String[] args) {int[] arr = {3,1,2,4,5};Sort.shellSort(arr);for (int x : arr) {System.out.print(x + " ");}}

3. 性能分析

时间复杂度空间复杂度
最好平均最坏
O(N)O(N^1.3)O(N^2)O(1)
数据有序难以构造出来
    public static void main(String[] args) {int[] arr2 = new int[10000];Test.createArray2(arr2);long s2 = System.currentTimeMillis();Sort.insertSort(arr2);long e2 = System.currentTimeMillis();System.out.println("直接插入排序的数组逆序的情况:"+(e2 - s2));int[] arr1 = new int[10000];Test.createArray2(arr1);long s1 = System.currentTimeMillis();Sort.shellSort(arr2);long e1 = System.currentTimeMillis();System.out.println("希尔排序的数组逆序的情况:"+(e1 - s1));}

稳定性:不稳定。

由于增量不同,可能导致本来在后面的元素跑到前面去!

http://www.yayakq.cn/news/270793/

相关文章:

  • 学网站建设怎么样搭建一个网站的步骤
  • 鹿寨县住房和城乡建设局网站湖南长沙招聘
  • 做网站设计注意什么细节广州越秀最新通知
  • 怎么做盗版电影网站官方网站如何建设
  • 企业网站建设策划书标准版北京优化推广公司
  • 下沙做网站的公司漯河市源汇区建设局网站
  • 哪些企业喜欢做网站广告邵阳市今天新闻
  • 连云港网站建设电话免费网站模板建设
  • 中国手机网站建设公司做网站需要 的文档
  • 大良网站设计怎么关注网站 在手机上
  • 合肥网站制作套餐wordpress 微信订阅号
  • 福州市建设工程造价管理网站wordpress为静态
  • 网站建设不能使用的广告违禁词泰安最新通知
  • 东莞网站视频wordpress怎么解压
  • 网站专业术语中SEO的意思是上海工商网官网电话
  • ppt做杂志模板下载网站有哪些wordpress 手机 注册
  • wordpress申请子站福州网站排名提升
  • 推广qq群的网站如何做网站优化推广
  • 成都网站推广公司网站域名空间多少钱
  • 建设网站最重要的是什么用哪个网站做简历更好
  • 天津网站模板建站在线制作个人网站
  • 青岛会议网站制作公司博客页面html模板
  • 台州网站推广技巧付费网站建设如何网络销售
  • php网站开发工程师教程微信网名
  • 四川网站建设外包服务湖北网站建设费用
  • 海南网站建设基本流程建设网站编程语言
  • 网站开发所需费用明细wordpress主题代码
  • 帮别人做网站要投资吗做写字楼租赁用什么网站好
  • 劳务派遣东莞网站建设建造师免费自学网站
  • 网页游戏在哪里制作广西优化网站