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

深圳网站设计吧外链seo

深圳网站设计吧,外链seo,网站开发b2b什么意思,北京互联网公司网站建设算法介绍 希尔排序 等差数列 普通版插入排序 循环数组 第一次每n/2为间隔分为4组,然后组内排序。 第二次每n/4为间隔分为2组。然后组内排序 第三次n/8为间隔分为一组。然后组内排序。 组内排序用插入排序来排序。 注:也可以第一次为n/3为间隔&am…

算法介绍

希尔排序 = 等差数列 + 普通版插入排序

循环数组

第一次每n/2为间隔分为4组,然后组内排序。

第二次每n/4为间隔分为2组。然后组内排序

第三次n/8为间隔分为一组。然后组内排序。

组内排序用插入排序来排序。

注:也可以第一次为n/3为间隔,第二次为n/3^2,,第三次为n/3^3.这个随你定义。

 上面这个图片是讲采用3的分法的话最坏算法时间复杂度只有O(n*开平方n)。

c++中的sort = 快排 + 插排  

 算法题目

算法ac代码:

#include <iostream>using namespace std;const int N = 1000010;
int q[N];void shell_sort(int n){for(int d=n/2;d>=1;d = d/2)//算出每次的公差{for(int start=0;start<d;start++)//每次的开始下标{//插入排序for(int i=start+d;i<n;i=i+d){int x = q[i],j=i;while(j>start&&q[j-d]>x){q[j] = q[j-d];j = j-d;}q[j] = x;}}}return;
}
int main(){int n;cin>>n;for(int i=0;i<n;i++)scanf("%d",&q[i]);shell_sort(n);for(int i=0;i<n;i++)printf("%d ",q[i]);return 0;
}

算法复杂度

时间复杂度:

要看你是按照啥规矩分的组,不同分组的时间复杂度不一样,如果是按照“2”的话时间复杂度为O(N^2)

空间复杂度

O(1)

稳定性:

原先的元素的相对位置会不一样,所以不稳定。

快排和希尔排序时间复杂度最坏情况是不考虑的,其发生这样的情况的概率就如小型星球撞地球的概率一样,可以忽略不计。

http://www.khdw.cn/news/40824.html

相关文章:

  • 效果型网站建设怎么进行网络推广
  • 网站建设的基本要求seo报告
  • 网站建设的目的模板郑州网站优化外包顾问
  • 推广学校网站怎么做百度在线扫题入口
  • 手机网站设计规范百度竞价排名官网
  • visualstudio网页设计作业广州seo网络推广员
  • app软件开发公司选用友yonmakerseo搜索引擎优化期末考试
  • 推荐昆明做网站建设总排行榜总点击榜总收藏榜
  • 小程序代理哪家好济宁网站推广优化排名
  • 上海某家具网站建设方案重庆seo全网营销
  • 网上做实验的网站超级外链吧外链代发
  • 软件开放和网站开发seoul什么意思
  • 织梦能不能做门户网站今日头条新闻手机版
  • 北京网站制作培训班百度云电脑网页版入口
  • 房子做水电的时候是不是要先埋网站网络营销和传统营销的区别
  • 婴儿做相册的网站宝塔没有域名直接做网站怎么弄
  • 嘉兴网站建设解决方案怎么找精准客户资源
  • 义乌网站制作多少钱百度seo咋做
  • 电影网站怎么做流量免费h5制作网站
  • h5做的网站如何连接数据库靠谱的代运营公司有哪些
  • 南阳网站建设制作百度帐号个人中心
  • 如何建设与维护网站seo优化招商
  • 网站安全检测中的安全事件监测包含哪些监控指标怎么制作网站
  • 免费商城网站友链是什么
  • 美国网站加速器windows优化大师使用方法
  • 网站建设空间是指什么seo视频教学网站
  • 做诱导网站长春seo优化企业网络跃升
  • 西安市城乡与住房建设厅网站站长之家域名
  • 拼多多网站怎么做的网络营销的专业知识
  • 电商平台正在建设中网站页面提示长沙网络公司排名