排序:希尔排序(Shell Sort)算法分析

1.算法思想

希尔排序:先追求表中元素部分有序再逐渐逼近全局有序.

希尔排序∶先将待排序表分割成若干形如 L [ i , i + d , i + 2 d . . . . , i + k d ] L[i,i + d,i + 2d ...., i + kd] L[i,i+d,i+2d....,i+kd]的“特殊”子表,
对各个子表分别进行直接插入排序。缩小增量d,重复上述过程,直到d=1为止。
希尔本人建议:每次将增量缩小一半。
在这里插入图片描述
分析每一趟排序后的状态

在这里插入图片描述

2.算法实现

//希尔排序
void Shellsort(int A[], int n) {int d, i, j;//A[0]只是暂存单元,不是哨兵,当j<=0时,插入位置已到for (d = n / 2; d >= 1; d = d / 2)//步长变化for (i = d + 1; i <= n; ++i)if (A[i] < A[i - d]) {//需将A[i]插入有序增量子表A[0] = A[i];//暂存在A[0]for (j = i - d; j > 0 && A[0] < A[j]; j -= d)A[j + d] = A[j];//记录后移,查找插入的位置A[j + d] = A[0];//插入}//if
}

3.算法性能分析

1.空间复杂度:

O ( 1 ) O(1) O(1)

2.时间复杂度

时间复杂度∶和增量序列 d 1 , d 2 , d 3... d1, d2, d3... d1,d2,d3...的选择有关,目前无法用数学手段证明确切的时间复杂度
最坏时间复杂度为 O ( n 2 ) O(n^2) O(n2),当n在某个范围内时,可达 O ( n 1.3 ) O(n^{1.3}) O(n1.3)

稳定性:不稳定!
适用性:仅适用于顺序表,不适用于链表.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/87039.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL单表查询和多表查询

一、单表查询 素材&#xff1a; 表名&#xff1a;worker-- 表中字段均为中文&#xff0c;比如 部门号 工资 职工号 参加工作等 CREATE TABLE worker (部门号 int(11) NOT NULL,职工号 int(11) NOT NULL,工作时间 date NOT NULL,工资 float(8,2) NOT NULL,政治面貌 varchar(10)…

恒合仓库 - 采购单管理模块

采购单管理模块 文章目录 采购单管理模块一、添加采购单(核心)1.1 采购流程1.2 采购单实体类1.3 添加采购单1.3.1 Mapper1.3.2 Service1.3.3 Controller1.3.4 效果图 二、采购单管理模块2.1 仓库数据回显2.1.1 Mapper2.1.2 Service2.1.3 Controller2.1.4 效果图 2.2 采购单列表…

【Unity的HDRP渲染管线搭建配置VR交互场景_SteamVR 插件和Pico串流助手】

HDRP渲染管线配置VR交互场景 Unity创建场景和相关配置下载导入项目打开PICO串流助手在Pico中的配置:用Steam串流VR_这篇的前置补充 Unity创建场景和相关配置 带HDRP Sample Scene 示例的 下载 SteamVR Unity插件地址02 导入项目

怒刷LeetCode的第10天(Java版)

目录 第一题 题目来源 题目内容 解决方法 方法一&#xff1a;两次拓扑排序 第二题 题目来源 题目内容 解决方法 方法一&#xff1a;分治法 方法二&#xff1a;优先队列&#xff08;Priority Queue&#xff09; 方法三&#xff1a;迭代 第三题 题目来源 题目内容…

【Vue】ElementUI实现登录注册

目录 一.跨域的概述 1.1.概述 1.2.特点 二.ElementUI 2.1. 导入 2.2.搭建 2.3.页面 三.数据交互 3.1.安装相关模块 3.1.1安装模块 3.1.2查看模块 3.1.3.引用模块 3.2. axios的get请求 3.3. axios的post请求 四.注册功能 好啦今天到这了&#xff0c;希望能帮到你&…

Matplotlib 是一个广泛用于 Python 数据可视化的库

Matplotlib 是一个广泛用于 Python 数据可视化的库&#xff0c;它提供了丰富的绘图功能&#xff0c;允许用户创建各种类型的图表&#xff0c;从简单的折线图到复杂的三维图表&#xff0c;以及定制图形的各个方面。以下是Matplotlib的一些重要特点和常见用法&#xff1a; Matpl…

向量数据库库Milvus Cloud2.3 技术选型中性能、成本、扩展性是重点

技术选型中性能、成本、扩展性是重点 对于向量数据库来说,用户最关心的莫过于性能、成本和扩展性。 Milvus 2.x 从 Day 1 开始就将扩展性作为设计的第一优先级,在众多用户环境中落地了十亿至百亿级别场景。不止如此,对于 Milvus 来说,扩展性不仅仅意味着支持百亿级别向量,…

网站整站优化-网站整站优化工具

您是否曾为您的网站在搜索引擎中的排名而感到焦虑&#xff1f;是否苦苦思考如何提高流量、吸引更多用户&#xff1f; 什么是整站优化。简而言之&#xff0c;它是一项用于提升网站在搜索引擎中排名的策略和技巧。通过对网站的内容、结构、速度等方面进行优化&#xff0c;可以使…

wordpress使用category order and taxonomy terms order插件实现分类目录的拖拽排序

文章目录 引入实现效果安装插件使用插件 引入 使用docker快速搭建wordpress服务&#xff0c;并指定域名访问 上一节我们使用docker快速搭建了wordpress服务&#xff0c;可以看到基础的wordpress服务已经集成基础的用户管理、文章发布、页面编辑、文章分类等功能&#xff0c;但…

当下IT测试技术员的求职困境

从去年被裁到现在&#xff0c;自由职业的我已经有一年没有按部就班打卡上班了。期间也面试了一些岗位&#xff0c;有首轮就挂的&#xff0c;也有顺利到谈薪阶段最后拿了offer的&#xff0c;不过最后选择了拒绝。 基于自己近一年的面试求职经历&#xff0c;我想聊聊当下大家在求…

时序数据库 IoTDB 发布端边云原生解决方案,有效优化工业互联网数据上传时效与资源消耗...

2023 年 9 月 8 日&#xff0c;由中国通信学会、福建省工业和信息化厅主办的 2023 中国国际工业互联网创新发展大会在厦门举办。大会主论坛中&#xff0c;时序数据库 IoTDB 发表其自研建立的端边云原生解决方案&#xff0c;该方案可实现端侧设备、边缘服务器、数据中心数据的协…

安卓备份基带分区 备份字库 步骤解析 以免误檫除分区或者“格机” 后悔莫及

玩机搞机---安卓机型mtk和高通芯片查看分区 导出分区 备份分区的一些工具分析 修复基带 改串码 基带qcn 改相关参数 格机危害 手机基带的重要性前面几期博文我都有相关的说明。他区别于别的分区。而且目前手机的安全性越来越高。基带分区基本都是专机专用。而不像早期机型一…

代码随想录Day02 数组基础2 leetcode T977有序数组的平方, T209 长度最小的子数组,T59 螺旋矩阵II

本文思路和详细解答来源于: 代码随想录 视频讲解见: 双指针法经典题目 | LeetCode&#xff1a;977.有序数组的平方_哔哩哔哩_bilibili Leetcode T977 有序数组的平方 题目链接: 977. 有序数组的平方 - 力扣&#xff08;LeetCode&#xff09; 思路1: 暴力求解 这里先解释一下非…

图像相关名词概述

颜色模式 通过赋予C的不同维度不同的含义&#xff0c;可以用来描述不同的颜色空间。颜色模式&#xff0c;是将某种颜色表现为数字形式的模型&#xff0c;或者说是一种记录图像颜色的方式。本单元主要讲述两个常用的颜色模式&#xff1a;RGB&#xff0c;HSV。 RGB模式是工业界的…

为什么atomic不是线程安全的

原理 1、读取i的值存入寄存器&#xff1b; 2、将i加1&#xff1b; 3、修改i的值&#xff1b; 修改一个属性包含了读&#xff0c;执行 改变&#xff0c;写入&#xff0c;atomic 只为读和写加了锁&#xff0c;保证了同一个时间只有一个线程在读和写&#xff0c;但是&#xff0c;会…

开关电源-交流220V降压电路-电阻电容降压原理

阻容降压原理 电容电阻降压的原理其实比较简单。它的工作原理是电容在交流信号的情况下&#xff0c;产生容抗来限制最大的工作电流。说白了就是电容使用它自己的通交流阻直流的性能&#xff0c;在交流信号输入时电容产生容抗。我们通过他的这个特性&#xff0c;可以设计出&…

2614. 对角线上的质数-c语言解法

给你一个下标从 0 开始的二维整数数组 nums 。 返回位于 nums 至少一条 对角线 上的最大 质数 。如果任一对角线上均不存在质数&#xff0c;返回 0 。 注意&#xff1a; 如果某个整数大于 1 &#xff0c;且不存在除 1 和自身之外的正整数因子&#xff0c;则认为该整数是一个…

【Windows】 Windows 10 等系统如何关闭文件夹预览模式

在Windows系统进行文件操作时&#xff0c;由于屏幕尺寸有限&#xff0c;有时感觉文件夹右侧的预览模式很占位置&#xff0c;因此想预览时打开&#xff0c;想关闭时就关闭。 以下是两种解决方案&#xff1a; 方案一&#xff1a;彻底关闭预览模式 方案二&#xff1a;可通过快捷键…

“源启2.0”:从自上而下的解构,到自下而上的重构

从垂直打穿、到应用重构&#xff0c;中电金信赋能行业数字化转型之路既“向下走”、也“向上看”。“向上”先理解和吃透客户的企业战略&#xff0c;进而自上而下地将企业战略拆解为业务架构&#xff0c;“向下”再将业务架构拆解为应用架构和数据架构&#xff0c;并进一步对齐…

18795-2012 茶叶标准样品制备技术条件

声明 本文是学习GB-T 18795-2012 茶叶标准样品制备技术条件. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本标准规定了各类茶叶(除再加工茶)标准样品的制备、包装、标签、标识、证书和有效期。 本标准适用于各类茶叶(除再加工茶)感官品质…