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

微网站怎么做域名注册查询官网

微网站怎么做,域名注册查询官网,深圳网站建设微信商城开发,郑州网站建设专业公司希尔排序法又称缩小增量法。希尔排序法的基本思想是: 先选定一个整数,把待排序文件中所有记录分成个 组,所有距离为的记录分在同一组内,并对每一组内的记录进行排序。然后,取,重复上述分组和排序的工 作。当…
希尔排序法又称缩小增量法。希尔排序法的基本思想是: 先选定一个整数,把待排序文件中所有记录分成个 组,所有距离为的记录分在同一组内,并对每一组内的记录进行排序。然后,取,重复上述分组和排序的工 作。当到达 =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/98433.html

相关文章:

  • 模板网站配置文件东莞网站营销
  • 网站图片移动怎么做百度网站官网网址
  • 做网站的服务器配置如何在百度发广告推广
  • 网站建设功能表小红书seo优化
  • 广州网站制作到诺然网上怎么找客户资源
  • 在excel中怎么做邮箱网站米拓建站
  • 织梦模板免费优化人员是什么意思
  • 免费网站源码下载平台免费行情网站
  • 厦门建设工程造价信息网关键词优化搜索引擎
  • dw怎么做网站地图谷歌推广网站
  • 官方网站开发合肥网络公司seo建站
  • 网站服务器和空间seo是什么专业
  • 慈利县建设局网站友情链接检测
  • 郑州网站建设三牛公关公司是干嘛的
  • 网站的栏目是什么下载百度app
  • 网站怎么做分类聚合百度快照怎么优化排名
  • 湘潭网站建设方案费用百度竞价最低点击一次多少钱
  • 无为县城乡建设局网站首页公众号开发
  • 清溪做网站的电话网络营销的手段包括
  • 建设银行长清网站网络推广员要怎么做
  • 广西城乡住房建设部网站网上推销产品的软件
  • 昆明做网站vr外贸建站服务推广公司
  • 黄岐网站制作百度站长平台官网
  • wordpress好看的背景图片seo短视频
  • 泉州外贸网站建设都有哪些公司衡水今日头条新闻
  • 网站开发 定制 合同百度云搜索引擎 百度网盘
  • 卡通风格的宣传网站网站开发培训
  • 政府类网站建设网络推广需要多少钱
  • 上海市建设工程材料网站怎样进入12345的公众号
  • 怎么找到做网站的客户域名注册平台有哪些