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

龙华网站制作公司大连在哪个省市

龙华网站制作公司,大连在哪个省市,wordpress 一直加载插件,东莞网站建设百度地图千万不要因为一件事不会做而失去信心#xff0c;你又不是只有这一件事不会#xff0c;你还有很多呢 一、插入排序 1.直接插入排序 InsertSort 1.1 基本思想 1.2 实现原理 1.3 代码实现 1.4 直接插入排序的特性总结 2.希尔排序 ShellSort 2.1 基本思想 2.2 实现原理 … 千万不要因为一件事不会做而失去信心你又不是只有这一件事不会你还有很多呢 一、插入排序 1.直接插入排序 InsertSort 1.1 基本思想 1.2 实现原理 1.3 代码实现 1.4 直接插入排序的特性总结 2.希尔排序 ShellSort 2.1 基本思想 2.2 实现原理 2.3 代码实现 2.4希尔排序的特性总结 二、完结撒❀ –❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀-正文开始-❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀– 一、插入排序 1.直接插入排序 1.1 基本思想 直接插入排序是一种简单的插入排序法其基本思想是 把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中直到所有的记录插入完为止得到一个新的有序序列。 实际中我们玩扑克牌时开始出牌前我们总先把牌都按照大小排列一边这就用了插入排序的思想 1.2 实现原理 下面以数组实现升序为例 总体是按照·数组下标由小到大进行排序 对一个数组arr进行排序从第一个位置下标为0开始与下标为1进行比较 如果arr[0]arr[1]将arr[0]后移至arr[1]的位置再将arr[1]插入arr[0]的位置就完成了排序再继续向后读取排序即可。 如果arr[0]arr[1]即为升序继续向后读取排序即可。 当插入到第ii0个元素时前面的arr[0],arr[1]…arr[i-1]都已经排好序此时将arr[i]对应数值与arr[i-1],arr[i-2]…对应的数值依次进行排序比较大于arr[i]的数值依次向后移动一个数据位置大小(假设arr[i-1]大于arr[i],就将arr[i-1]后移止arr[i]的位置)arr[i]继续向前进行比较直到遇到比arr[i]小的数时将arr[i]插入到其前面位置即可 按照数组下标顺序以此执行上面操作直到将数组中最后一个数据排完为止即可实现升序。 动态图解: 1.3 代码实现 //时间复杂度 //最坏情况O(N^2),逆序 //最好情况ON void InsertSort(int* a, int n) {assert(a);for (int i 0; i n - 1; i){int end i;int tmp a[end 1];while (end 0){if (a[end] tmp){a[end 1] a[end];--end;}else{break;}}a[end 1] tmp;} }1.4 直接插入排序的特性总结 1. 元素集合越接近有序直接插入排序算法的时间效率越高 2. 时间复杂度O(N^2) 4. 空间复杂度O(1)它是一种稳定的排序算法 5. 稳定性稳定 2.希尔排序 ShellSort 2.1 基本思想 希尔排序法又称缩小增量法。希尔排序法的基本思想是 先选定一个gap整数把待排序文件中所有记录分成gap个组所有距离为gap的整数记录分在同一组内并对每一组内的记录进行排序。然后减小gap重复上述分组和排序的工作。当到达gap1时所有记录在统一组内排好序。 2.2 实现原理 希尔排序相当于是对直接插入排序进行了优化 直接插入排序就相当于把gap直接当作1进行插入排序而希尔排序不同 希尔排序分为预排序和最终排序两部进行且开始gap等于数组数据个数ngap减小到1之前所进行的排序都为预排序只有最后gap1时的排序为最终排序 希尔排序之所以快是预排序在起作用预排序的目标是让整体数组接近有序而总体预排序消耗的时间又很少其对最终排序的使用时间有很大增益效果 注意这里以gap / 2为例进行动态图解 动态图解 2.3 代码实现 注意这里代码是以gap gap/31为例时间复杂度为O(N^1.3)。具体说明在特性里面 //希尔排序 时间复杂度ON^1.3 //欲排序 目标接近有序 void ShellSort(int* a, int n) {assert(a);int gap n;while (gap 1){gap gap/3 1;for (int j 0; j gap; j){for (int i j; i n - gap; i gap){int end i;int tmp a[end gap];while (end 0){if (a[end] tmp){a[end gap] a[end];end - gap;}else{break;}a[end gap] tmp;}}}} }2.4希尔排序的特性总结 1. 希尔排序是对直接插入排序的优化。 2. 当gap 1时都是预排序目的是让数组更接近于有序。当gap 1时数组已经接近有序的了这样就会很快。这样整体而言可以达到优化的效果。 3. 希尔排序的时间复杂度不好计算因为gap的取值方法很多导致很难去计算因此在一些树中给出的希尔排序的时间复杂度都不固定 《数据结构-用面相对象方法与C描述》— 殷人昆 因为咱们的gap是按照Knuth提出的方式取值的而且Knuth进行了大量的试验统计我们暂时就按照ON^1.3来算。 4.稳定性不稳定。 二、完结撒❀ 如果以上内容对你有帮助不妨点赞支持一下以后还会分享更多编程知识我们一起进步。 最后我想讲的是据说点赞的都能找到漂亮女朋友❤
http://www.zqtcl.cn/news/309448/

相关文章:

  • 专业足球网站开发铜陵网站优化
  • 南昌高端网站开发山西太原网站建设公司
  • 青岛专业制作网站的公司吗百度咨询
  • 自定义网站模块深圳宝安区有什么好玩的地方
  • 如何增加网站的外链微平台网站支持html5实现游戏
  • 平台网站建设网站邯郸seo优化
  • 做网站着用什么软件盐城网站建设电话
  • 自己的网站wordpress自动变化文字
  • 北京制作网站公司哪家好wordpress小工具不显示不出来
  • 如何建设一个新的网站h5网站建设价格
  • 无锡专业做网站的怎么攻击php做的网站
  • 盐城网站建设代理商wordpress定义字体颜色
  • 成都旅游网站建设地址自己做的网站怎么被搜索出来
  • 网站建设免费免代码商城微网站如何做
  • 网站建设域名是什么东莞网络科技营销
  • 法语网站建设高端网站建设 骆
  • vue网站开发注意事项做设计想接外单去哪个网站好
  • 免费模板下载网站推荐苏州seo
  • 徐州市水利工程建设有限公司网站网站建设技术团队有多重要性
  • 合肥佰瑞网站搜索引擎优化步骤
  • 营销型网站建设亏1广西桂林天气预报15天
  • 想做一个网站平台怎么做公司网站建设费用估计
  • 电商网站开发平台pi netwo网页设计文件下载
  • 南平网站设计笔记本怎么建设网站
  • 舆情分析网站免费人工智能培训班收费标准
  • 青岛网站建设 大公司制作相册视频
  • 什么是网站的域名jquery素材网站
  • 课程网站建设ppt模板百度seo推广
  • 网站建设需要用到什么怎么在电脑上用手机app软件
  • 公司做网站有意义么网站认证必须做么