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

深圳网站设计建设公司百度账户安全中心

深圳网站设计建设公司,百度账户安全中心,深圳商城网站建设报价单,wordpress 图片浮动算法介绍 希尔排序 等差数列 普通版插入排序 循环数组 第一次每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.dinnco.com/news/30842.html

相关文章:

  • 外贸网站 推广下列关于seo优化说法不正确的是
  • 做 爱 网站视频优化师是做什么的
  • 百度搜索不到我的网站外贸建站优化
  • 自己做的网站服务器开了进不去制作网站模板
  • 内蒙古城乡和住房建设厅网站seo的名词解释
  • 如何使网站做的更好企业宣传网站
  • 中英文网站切换自动点击关键词软件
  • app网站开发报价2022千锋教育培训收费一览表
  • 导航特效网站视频号视频下载助手app
  • 做门户网站需要注册公司吗电子商务营销策略有哪些
  • 国外做ui的网站j百度官网认证价格
  • 做中介开什么网站企业营销网站建设系统
  • 水平b2电子商务网站谷歌浏览器 安卓下载
  • 外贸网站外包网络营销服务外包
  • 网站建设 保障接单 计划seo北京优化
  • 网站改成自适应html网站模板免费
  • 网站后台发文章图片链接怎么做360推广客服电话是多少
  • c 做网站怎么插入id公司网络营销策划书
  • windows8 网站建站命令百度上海分公司
  • 苹果网站上物体阴影怎么做的网页搜索
  • 做网站主流用什么语言重庆网络seo公司
  • 腾讯广告一级代理名单seo网站设计
  • 中企动力做网站怎么样如何自建网站?
  • 包牛牛网站怎么做百度投诉电话客服24小时
  • 西安哪个公司可以做网站制作网页的步骤
  • 实创装饰官网seo技术
  • 世界购物网站排名营销 推广
  • 湖南做网站360o2023免费b站推广大全
  • 网站开发公司基础产品百度权重划分等级
  • 英语培训学校网站建设多少钱西安疫情最新数据