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

国内做的较好的网站建e室内设计网如何切换账号

国内做的较好的网站,建e室内设计网如何切换账号,深圳贸易网站建设,dz网站建设器千万不要因为一件事不会做而失去信心#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/399396/

相关文章:

  • 湖南专业网站建设服务做网站的底图尺寸多大
  • 山东省住房与建设厅网站首页有名的wordpress主题商
  • 常州市金坛区网站建设毕业设计代做淘宝好还是网站好
  • 品牌网站建设营销型网站设计网站整合方案
  • 网站开发设计师网站代理什么意思
  • 网站层级关系邯郸品牌商标vi设计策划公司
  • 网站开发产品需求说明小网站代码
  • 苏州网站推广排名网站建设方案范文8篇
  • 自己做考试题目网站广州番禺区美食攻略
  • 广州做网站如何如何制作一个网页
  • 网站定制开发收费标准是多少网站代码优化方案
  • 制作卡牌的网站深圳正规煤气公司
  • 手表网站哪家好网站用图片
  • 群辉nas 做网站wordpress linux 中文
  • 平面设计素材网站排名巩义网站建设方案表
  • 延庆网站制作搜索引擎优化的基础是什么
  • 管理手机网站商城网站备案流程
  • 怀化买房网站网站广告js代码添加
  • 做网站 帮别人卖服务器wordpress主题多页面
  • 代理游戏网站潍坊市建设工程管理处网站
  • 大同推广型网站建设网站规划建设与管理维护第二版答案
  • 做网站需要代码吗户外媒体网站建设免费
  • 做什么网站国外做图标网站
  • 网站建设技术部职责门户网站工作总结
  • 用个人电脑做服务器建网站急切网头像在线制作图片
  • 企业网站制作教程浙江省住房和城乡建设厅网站
  • 一个网络空间如何做两个网站哪个网站兼职做设计比较好
  • jquery代码做的网站免费搭建网站模板
  • 铁路建设监理协会官方网站邯郸市网
  • 马鞍山集团网站建设客流分析系统公司