数据结构之希尔排序

news2024/11/17 9:32:22

希尔排序

在插入排序的基础上,进行完善的算法
在这里插入图片描述
举个例子
在这里插入图片描述
如图我们把相距举例为4的两个元素组成一个子表
(1和5,2和6,3和7,4和8)
对各个子表进行直接插入排序
在这里插入图片描述
比如对子表2进行直接插入排序
13插入到38前,子表3,4也是
第一趟处理完在这里插入图片描述
然后进行第二趟,会缩小增量d
这里是直接除2,d=2
1 3 5 7变为一组
在这里插入图片描述
第二趟结果
在这里插入图片描述
其实上面的操作实现了基本有序的状态
最后d=1就和直接插入排序没什么区别了,整个表都是子表呗
在这里插入图片描述
希尔排序其实d怎么变都可以,只要递减到1即可
建议是除2
在这里插入图片描述

常考考法

在这里插入图片描述
告诉你序列和每一趟增量让你求对应的直接插入排序完的序列

算法实现

在这里插入图片描述

算法性能分析

在这里插入图片描述
直接d=1(那不就是直接插入排序)时候就是O(n^2)
一个范围内就是O(n^1.3)

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

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

相关文章

智慧小镇解决方案-最新全套文件

智慧小镇解决方案-最新全套文件一、建设背景二、建设思路三、建设方案四、获取 - 智慧小镇全套最新解决方案合集一、建设背景 智慧小镇,是指在城镇发展过程中,在城镇基础设施、资源环境、社会民生、经济产业、市政治理等领域中,充分利用物联…

2022亚太杯C题思路代码分析

C题就是数学比较开放的题目了,属于一个数据分析类题目,跟前两年的华为杯差不多,考察的也是全球变暖问题。更多内容文末名片查看 问题1.你同意有关全球气温的说法吗?使用2022_APMCM_C_Data。附件中的csv和其他您的团队收集的数据集…

用DIV+CSS制作四川成都美食网页介绍(网页设计期末课程设计)

家乡旅游景点网页作业制作 网页代码运用了DIV盒子的使用方法,如盒子的嵌套、浮动、margin、border、background等属性的使用,外部大盒子设定居中,内部左中右布局,下方横向浮动排列,大学学习的前端知识点和布局方式都有…

RetinaNet-Obj

真是东西多多每天都有新发现 论文地址:https://arxiv.org/abs/1908.09075 样本不平衡问题感觉近期研究的论文相对较多,如:2019 AAAI GHM,2019 CVPR AP-loss, 还有2019 DR loss, 2019 IoU-bala…

国外Essay写作怎么准确高效地审题?

Essay写作的重中之重是什么?毫无疑问肯定是审题审题还是审题,任何形式的Essay写作都以正确地审题为前提。小编就为大家分享如何准确而高效地审题。 What is the top priority of Essays writing?There is no doubt that it must be subject review or t…

python聚类分析如何可视化?

前言 聚类分析是一类将数据所对应的研究进行分类的统计方法。这一类方法的共同特点是,事先不知道类别的个数与结构;进行分析的数据是表明对象之间的相似性或相异性的数据,将这些数据看成对对象“距离”远近的一种度量,将距离近的…

制作一个简单HTML传统端午节日网页(HTML+CSS)7页 带报告

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材,DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 传统春节网页设计 | 圣诞节节日发展 | 中秋 | 端午传统节日习俗庆祝 | 地区特色 | 网站模板 | 等网站的设计与制 | HTML期末大学生网页设计作业 HTML&…

#边学边考 必修5 高项:对人管理 第2章 项目沟通管理和干系人管理

答题报告 自我分析 有可能是间隔时间太长,本章节从开始学习到今天(11.24)学完,中间至少停止了1周以上,造成对基本知识记忆不牢固。对重点知识没有重点记忆,走马观花,以至于混淆。 答题解析 关…

Android Jetpack之LiveData源码分析

LiveData 是一种可观察的数据存储器类。与常规的可观察类不同,LiveData 具有生命周期感知能力,意指它遵循其他应用组件(如 activity、fragment 或 service)的生命周期。这种感知能力可确保 LiveData 仅更新处于活跃生命周期状态的…

DeFi:解决 EIP-4626 中的滑点问题

DeFi:解决 EIP-4626 中的滑点问题 简介 EIP-4626提供了一种将代币投资到投资池(通常称为金库)的标准方法。当我们存入自己的资产(ERC-20 代币)时,我们会收到一个份额代币,代表我们在金库里的资产。金库将把汇集的资产…

力扣 234. 回文链表

力扣 234. 回文链表 给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。 示例 1: 输入:head [1,2,2,1] 输出:true示例 2: 输入&…

快速排序算法 QuickSort algorithm

该算法是托尼霍尔在1960年提出。 算法思想:从集合中随机取一个数作为支点,然后将比它大的数放在一个集合里,比它小的数放在另一个集合中,然后再递归下去,最后便可求得有序的数组。 QuickSort(A) 1: S− {}; S {}; …

LeetCode栈和队列练习

文章目录前言1.力扣20. 有效的括号1.题目分析2.代码示现2.力扣225. 用队列实现栈1.题目分析2.代码实现3.力扣232. 用栈实现队列1.题目分析2.代码实现4.力扣622. 设计循环队列1.题目分析2.代码实现5.总结前言 之前的博客介绍的栈和队列的实现,本文将会对栈和队列的使…

Unity - Shader - Projector 高空云层底下透明阴影

Semitransparent Shadow - Alpha Test SoftShadow 这种方式我最早是在 cat like coding 博主的文章看到的,这种方式我自己亲自测试过 缺点:会有阴影抖动严重的现象 (其中的 dithering tex 可以参考我之前写的:Unity - 手动创建…

【图神经网络论文整理】(六)—— Universal Graph Transformer Self-Attention Networks

Dai Quoc Nguyen, Tu Dinh Nguyen, Dinh PhungThe ACM Web Conference 2022 (WWW 22)Computer Vision and Pattern Recognition论文地址 本文介绍的论文是《Universal Graph Transformer Self-Attention Networks》。 该篇文章的主要贡献是将Transformer应用在GNN中用于学习图…

Java Spring Bean的实例化

Java Spring Bean的实例化 Spring框架支持两种方式去进行Bean的管理:BeanFactory、ApplicationContext BeanFactory:pom文件引入spring-context坐标,创建对应的待IOC类,然后在bean.xml注入,最后在调用处初始化BeanFa…

【数据结构】树与二叉树

目录 树的定义 二叉树的定义 二叉树的性质 满二叉树 完全二叉树 二叉树的存储结构 顺序存储结构 链式存储结构 遍历二叉树(递归) 二叉树的层次遍历 先序创建二叉树 复制二叉树 销毁二叉树 写在最后 树的定义 树是n个结点的有限集&#xf…

微信小程序中生成普通二维码,并根据二维码里的参数跳转对应的页面

微信小程序中生成普通二维码,并根据二维码里的参数跳转对应的页面1.打开[微信公众平台](https://mp.weixin.qq.com/)使用encodeURIComponent()对参数进行转码第一步:对要传递的参数进行编码第二步:生成二维码第三步:小程序中转页面…

电子元器件B2B电商平台建设方案:优化企业商流,拓宽B2B交易渠道

随着5G、汽车电子、物联网等新兴产业的发展,促进了相关电子元器件的市场需求快速增长。根据工信部预计,2023年我国电子元器件销售总额将达到2.1万亿元。而在互联网高速发展的今天,电子元器件交易在线化是必然趋势,B2B电子元器件线…

maven学习:引入

你是否早已厌倦了日复一日的手工构建工作?你是否对各个项目风格迥异的构建系统感到恐惧?Maven——Maven 的正确发音是[ˈmevən],而不是“马瘟”以及其他什么瘟。Maven 在美国是一个口语化的词语,代表专家、内行的意思。这一Java社…