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

网站地图建设有什么用外汇交易网站建设

网站地图建设有什么用,外汇交易网站建设,鹰潭网站商城建设,学室内设计要多久能学会目录 1.直接插入排序2.希尔排序 1.直接插入排序 基本思想: 把待排序的数据按其大小逐个插入到一个已经排好序的有序序列中,直到所有的数据插入完成为止。 当插入第i个元素时,前面的a[0],a[1],...,a[i-1]个数据已经排好序了,此时用…

目录

  • 1.直接插入排序
  • 2.希尔排序

1.直接插入排序

基本思想:
把待排序的数据按其大小逐个插入到一个已经排好序的有序序列中,直到所有的数据插入完成为止。

当插入第i个元素时,前面的a[0],a[1],...,a[i-1]个数据已经排好序了,此时用a[i]a[i-1],a[i-2],...进行比较,找到插入位置就将a[i]插入,原来位置上的元素顺序后移

在这里插入图片描述

void InsertSort(int* a, int n)
{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//a[end]<tmp,说明前(i+1)个数已经有序了{break;}}a[end + 1] = tmp;}
}

在这里插入图片描述

元素集合月接近有序,直接插入排序算法的时间效率更高
时间复杂度:O(N^2)
稳定性:稳定

2.希尔排序

希尔排序是直接插入排序的优化

1.预排序
2.直接插入排序
基本思想:
先选定一个整数,把待排序文件中所有数据分成gap个组,所有距离为gap的数据分在同一个组里,并对每一组的数据进行排序。然后,取gap=gap/3+1,重复上述分组的操作。当gap=1时,所有数据在同一组的已经排好序了

void ShellSort(int* a, int n)
{int gap = n;while(gap > 1){//+1保证最后一个gap一定是1//gap》1是预排序//gap==1是插入排序gap = gap / 3 + 1;for (int i = 0; i < n - gap; i++){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;}}
}

在这里插入图片描述
在这里插入图片描述

当gap>1时都是预排序,目的是让数组更接近有序。当gap==1时,数组已经接近有序了,这样就会很快
时间复杂度:O(N^1.3)(ps:时间复杂度是不固定的)
稳定性:不稳定

http://www.yayakq.cn/news/273203/

相关文章:

  • 做电影网站要多少钱中国农技推广网
  • 陇南做网站建立网站原理
  • 代账公司网站模板中国铁塔公司招聘网站
  • 租用服务器网站app 网站
  • 东莞住房和城乡建设厅网站电商网站建设基础教案
  • 西安网站开发制作网站访问量咋做
  • 网站源码建站视频rss 网站插件
  • 做网站沈阳做实验的网站
  • 莆田网站建设方案优化定制型网站制作哪家好
  • 北京网站建设降龙网络代理网页在线
  • 1688代加工官方网站免费logo图标在线制作
  • 网站做推广赚钱项目如何将图片生成网址
  • 百度经验网站建设网页设计师资格证查询官网
  • 济南天桥区网站建设公司wordpress滑块不显示
  • 网站建设与管理是干什么的网站怎么做才能被百度收录
  • 创意设计公司网站无锡做网站公司有哪些
  • 衡阳北京网站建设国网交流建设公司网站
  • 住房和建设部信息网站沧州做家装的公司网站
  • 社交网站开发流程app开发技术路线描述
  • 免费域名注册网站源码wordpress 屏蔽特定国家ip
  • 网站建设最新资讯简单的网页设计模板
  • 保定微网站 建设昆汀的室内设计案例
  • 济南网站建设有限公司小程序登录界面设计
  • 注册网址自媒体seo是什么意思
  • 青岛做网络直播的网站网站推广服务方案
  • 公司网站英文域名在哪查河源网站建设 科技
  • 做的网站怎样更新电子商务平台官网
  • 怎样用微信做购物网站长沙网站建设平台
  • 不花钱的网站建设宁夏中卫市林业生态建设局网站
  • 丽水网站seowordpress使用第三方播放器