希尔排序时间复杂度O(n¹.³)中的1.3是怎么来的?

 我来答
旅游路上小知识
高粉答主

2020-05-02 · 我是旅行小达人,专注解决旅行中遇到的问题
旅游路上小知识
采纳数:2 获赞数:83123

向TA提问 私信TA
展开全部

1、首先希尔排序是一种递减增量的排序算法,下面使用大小为9的数组:54、26、93、17、31、44、55、20。

2、令数据间隔为3,将该数组分成三个子数组,如下图所示,为下图中灰色的部分。

3、对每一个子数组都进行插入排序操作,将排序好的子数组合并到一个数组当中。这个时候,会发现,每个数字都会务必接近他应该存在的位置。

4、这是间隔为3的子数组排序后的结果,发现该排序后的数列非常接近我们需要的递减或者递增序列。下一步只需要,缩小间隔进行重复性操作即可

5、最后改变间隔,使间隔变成4,这个时候子数组反而有4组。这个说明希尔排序(shell sort)是一个不稳定的排序。

光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
仙戈雅3n
2017-06-02 · TA获得超过5791个赞
知道大有可为答主
回答量:2398
采纳率:75%
帮助的人:945万
展开全部
希尔排序时间复杂度的指数具体数值目前是比较模糊的,并没有一个统一的取值,它取决于增量。但已知的就是指数不是平方级的,即不是O(n^2),而是O(n^m(m>1<2))也就是说指数m不会大于等于2是介于[1,2)半闭半开区间。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式