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

东莞企业网站电话深圳网站设计实力乐云seo

东莞企业网站电话,深圳网站设计实力乐云seo,新型网络搜索引擎,wordpress菜单分页希尔排序法又称缩小增量法。希尔排序法的基本思想是: 先选定一个整数,把待排序文件中所有记录分成个 组,所有距离为的记录分在同一组内,并对每一组内的记录进行排序。然后,取,重复上述分组和排序的工 作。当…
希尔排序法又称缩小增量法。希尔排序法的基本思想是: 先选定一个整数,把待排序文件中所有记录分成个 组,所有距离为的记录分在同一组内,并对每一组内的记录进行排序。然后,取,重复上述分组和排序的工 作。当到达 =1 时,所有记录在统一组内排好序
简单来讲就是分组插排:间隔为gap的分为一组然后再进行插排
图片解释:
红色的为一组,黄色的为一组,蓝色的为一组,紫色的为一组,黑色的为一组
在第一趟排序中,将红色的进行排序,将黄色的进行排序……
  • end和temp的关系是一前一后
  • 当gap=1就成了插入排序

思考:gap应该设为多大?

// 希尔排序
void ShellSort(int* a, int n)
{int gap = n;while (gap > 1){gap /= 2;for (int j = 0; j < gap; j++){for (int i = j; i < n - gap; i += gap){int end = i;int temp = a[end + gap];while (end >= 0){if (temp < a[end]){a[end + gap] = a[end];end -= gap;}else{break;}}a[end + gap] = temp;}}}
}

在两层for循环里面还有一种写法:和上面的是一样的,上面的是一组排完再排第二组,这个是多组并排

// 希尔排序
void ShellSort2(int* a, int n)
{int gap = 3;for (int i = 0; i < n-gap; i ++){int end = i ;int temp = a[i+gap];while (end >= 0){if (temp < a[end]){a[end + gap] = a[end];end -= gap;}else{break;}}a[end + gap] = temp;}
}
希尔排序的特性总结:
1. 希尔排序是对直接插入排序的优化。
2. gap > 1 时都是预排序,目的是让数组更接近于有序。当 gap == 1 时,数组已经接近有序的了,这样就会很快。这样整体而言,可以达到优化的效果。我们实现后可以进行性能测试的对比。
3. 希尔排序的时间复杂度不好计算,因为 gap 的取值方法很多,导致很难去计算,因此在好些树中给出的希尔排序的时间复杂度都不固定

 《数据结构(C语言版)》--- 严蔚敏

《数据结构-用面相对象方法与C++描述》--- 殷人昆

http://www.dtcms.com/wzjs/263045.html

相关文章:

  • CMS源码就可以做网站吗百度应用商店官网
  • 北京建设主管部门网站广州代运营公司有哪些
  • 网上做的比较好的竞彩网站外贸公司一般怎么找客户
  • 网站建设业务元提成互联网营销师培训
  • 什么网站做的靠枕比较有创意智能建站模板
  • html 手机网站开发百度有哪些产品
  • 哪个网站专做童装批发重庆seo网络推广平台
  • 外贸网站建设武汉客源软件哪个最好
  • 做同城特价的网站有哪些seo 0xu
  • 东莞企业网站制作出售南京seo网站优化推广
  • 黄色网站模板百度竞价推广开户费用
  • 工作细胞樱花动漫排名优化公司电话
  • 装饰公司网站规划方案阿里指数在哪里看
  • 网站建设jiage关键词seo
  • 一级a做爰片无码网站什么公司适合做seo优化
  • 建网站出现ie6免费网站推广产品
  • 用html能做企业网站吗手机百度网址大全首页
  • 网络推广思路seo研究中心vip教程
  • 网站做建筑三维图惊艳的网站设计
  • 小说在线阅读网站怎么做百度关键词排名价格
  • 网站开发前端课程北京seo优化服务
  • 百度站长平台诊断优化网站排名如何
  • 东营 网站建设公司搜索引擎排名google
  • 设计素材图片大全seo网站关键词优化
  • 称心的赣州网站建设青岛关键词排名系统
  • 做网站广告送报纸广告西安seo工作室
  • ECMS做的网站大数据分析营销平台
  • 政务信息公开和网站建设自评餐饮管理培训课程
  • 做图片素材的网站如何免费推广网站
  • 网站影响seo的标签百度电脑版网页版