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

附近展览制作工厂培训优化

附近展览制作工厂,培训优化,编写网站程序,天津做网站好的公司直接插入排序——以升序排列为例 1.1基本思想1.2动态图示感知1.3静态图示详解1.4代码实现1.5时间复杂度1.5.1最好情况1.5.2最差情况 1.6空间复杂度1.7稳定性1.7.1一个小问题 1.1基本思想 把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直…

直接插入排序——以升序排列为例

  • 1.1基本思想
  • 1.2动态图示感知
  • 1.3静态图示详解
  • 1.4代码实现
  • 1.5时间复杂度
    • 1.5.1最好情况
    • 1.5.2最差情况
  • 1.6空间复杂度
  • 1.7稳定性
    • 1.7.1一个小问题

1.1基本思想

把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为止,得到一个新的有序序列 。实际中我们玩扑克牌时,就用了插入排序的思想。
在这里插入图片描述

1.2动态图示感知

在这里插入图片描述

1.3静态图示详解

以一组待排序数据:5 3 1 6 9 9为例:
在这里插入图片描述

1.4代码实现

   public static void insertSort(int[] array){for(int i = 1;i < array.length;i++){int tmp = array[i];//初始化tmp的值int j = i - 1;for( ;j >= 0;j--){//这里带不带等号,会影响排序的稳定性if(array[j] > tmp){array[j+1] = array[j];}else{break;}}array[j + 1] = tmp;}}

1.5时间复杂度

1.5.1最好情况

当待排序数组已经是一个升序排列的数组时,此时时间复杂度最低。因为对于i遍历的每一个值,j无需向左遍历,此时只相当于i遍历了一遍数组(确切的说,是遍历了除第一个元素外的数组),因此时间复杂度为O(n)
在这里插入图片描述

1.5.2最差情况

当待排序数组已经是一个降序排列的数组时,此时时间复杂度最高。因为对于i遍历的每一个值,j需要向左遍历直到-1,因此整个排休的时间复杂度为O(n^2)
在这里插入图片描述
特点:由以上分析可知,待排序的数据越“有序”,直接插入排序算法的时间复杂度越低。这一特点可以用到某些排序算法的优化上,比如快速排序。

1.6空间复杂度

整个排序过程只创建了常数个临时变量,因此空间复杂度为O(1)

1.7稳定性

1.2图示详解中,原始数组中的数据9和9,在排序后相对位置没有发生变化,因此直接插入排序是稳定的排序

1.7.1一个小问题

如果将原有代码中的这句:

if(array[j] > tmp){array[j+1] = array[j];
}else{break;
}

改为:

if(array[j] >= tmp){array[j+1] = array[j];
}else{break;
}

即将判断条件的 “>” 改为 “>=”
原有的直接插入排序还是稳定的吗?
答:不稳定。

图示说明如下(对比1.3静态图示详解的最后两步):
在这里插入图片描述
所以直接插入排序是稳定的还是不稳定的呢?
前面已经说明了直接插入排序是稳定的排序。之所以会出现把 > 修改成 >=,原有的排序由稳定变为不稳定的情况,是因为:一个本身就不稳定的排序,是不可能是现成稳定的排序的;而一个本身稳定的排序,是可以实现为不稳定的排序的。

http://www.hkea.cn/news/878983/

相关文章:

  • 人是用什么做的视频网站网络营销方案设计毕业设计
  • 建设网站考虑因素关键词优化是怎么弄的
  • 陕西营销型网站建设推广普通话的内容简短
  • 做配电箱的专门网站百度指数属于行业趋势及人群
  • 学做网站的网站重庆seo整站优化报价
  • 保定网站设计概述seo推广软件排名
  • 查pv uv的网站网络营销推广服务
  • 怎样让客户做网站优化 保证排名
  • 企业营销型网站做的好网络营销的有哪些特点
  • 网站开发 合同兰州快速seo整站优化招商
  • 网站开发技术现状深圳网络营销推广培训
  • 知名网络公司有哪些河北网站seo
  • 学做网站多少钱关键词难易度分析
  • 传奇如何做网站网站建设策划书案例
  • 龙岗 网站建设深圳信科最好用的搜索神器
  • 动态网站开发日志重庆seo整站优化报价
  • 魔站网站建设微信公众号运营推广方案
  • 好的网站建设公司营销推广外包公司
  • 教育机构做网站素材长尾关键词爱站
  • 做网站选什么系统企业网站seo推广
  • 山东省南水北调建设管理局网站腾讯网qq网站
  • 菏泽做网站公司sem网络营销
  • 专业建站外包兰州网络优化seo
  • 企业邮箱腾讯杭州seo按天计费
  • 政府网站建设先进个人事迹互动营销
  • 网站建设之织梦模板做国外网站
  • 小程序电商模板seo关键词排名优化品牌
  • 泉州网站优化排名百度关键字优化价格
  • 上海网站建设好处win优化大师官网
  • 适合毕设做的简单网站初学seo网站推广需要怎么做