问题标签 [shellsort]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1553 浏览

c# - C# 中最优雅的外壳排序方式(梳状/递减增量排序)是什么?

有没有更好的方法来使用 C# 进行 shell 排序?

顺便说一句,我想知道,因为我有一些不同语言中“优雅”排序的不同示例(例如C#F#中的冒泡排序),我正在比较它们。在现实生活中,我可能大部分时间在 C# 中使用以下内容:

我不在乎这些是否是“学术​​”和非实用模式。如果你愿意,你可以把我改成遗忘:)

K A

0 投票
6 回答
20020 浏览

algorithm - shell排序的最快间隙序列?

根据 Marcin Ciura 的Optimal (best known) sequence of increments for shell sort algorithm,shellsort 的最佳序列是 1, 4, 10, 23, 57, 132, 301, 701...,但是我怎样才能生成这样的序列? 在 Marcin Ciura 的论文中,他说:

Knuth 和 Hibbard 的序列都比较差,因为它们是由简单的线性递归定义的。

但我发现的大多数算法书籍都倾向于使用 Knuth 的序列:k = 3k + 1,因为它很容易生成。你生成 shellsort 序列的方法是什么?

0 投票
3 回答
1183 浏览

c# - 课堂作业 - c# 中的 shellsort?

我需要一种在 c# 中使用 ShellSort 对数组进行排序的简单方法,请帮助我

0 投票
11 回答
56002 浏览

java - Shell 排序 Java 示例

谁能给我举个关于 shell 排序的例子吗?我是这里的新手,必须学习 shell 排序,但首先我必须找到一个 Java shell 排序示例。我在谷歌上找到了一个例子,但是太难了。

0 投票
1 回答
484 浏览

java - 如何更改此 shell 排序中的 H 序列?

我希望能够修改此代码,以便它使用 Knuth 的 H 序列而不是这个。如果有人可以提供帮助,我将不胜感激。

0 投票
1 回答
659 浏览

java - Shellsort 间隔问题 Java

当我使用标准间隔大小以及使用非标准大小时,我需要测试 shellsort 的效率。我遇到的问题是当我尝试使用我的非标准间隔时。

当 h 等于标准间隔大小时,这是我的 Shellsort:

这是我尝试使用质数区间

我试图根据实时效率比较两者,但我不知道如何让这个 prim 间隔工作。

我正在尝试测试:

  • Shellsort performs better than O(N^2) with appropriately chosen interval sizes
  • 选择的一系列间隔大小对于实现优于 O(N^2) 运行时很重要

感谢您的任何帮助。

0 投票
2 回答
2501 浏览

sorting - openmp中的shell排序

有谁熟悉openmp,我没有得到排序列表。我究竟做错了什么。我在最后使用了critical,因此在排序后只有一个线程可以访问该部分。我想我的私人价值观不正确。他们是否应该在那里,或者我最好只使用#pragma omp for。

0 投票
3 回答
1352 浏览

algorithm - 壳排序分析

我正在阅读一本关于算法的书,其中提到了关于 shell 排序算法的分析,如下所示:

Shellsort 的最坏情况运行时间,使用 Shell 的增量,是 Theta(n square)。

证明不仅需要显示最坏情况运行时间的上限,而且还需要显示存在一些输入实际上将下限作为 Omeaga(n 平方) 时间运行。我们首先通过构造一个坏案例来证明下界。

我上面的问题是:

  1. 为什么作者提到坏情况来检查下限?我教要获得下限,我们应该采取最好的情况,请在上面澄清。

谢谢!

0 投票
1 回答
430 浏览

algorithm - 关于shell排序算法

我正在读一本关于算法的书。它在shell排序中提到如下

Shellsort 的一个重要属性(我们在没有证明的情况下声明)是一个 (h subscipt k) hk-sorted 文件,然后是 (h subsciprt (k-1)) hk-1-sorted 仍然是 hk-sorted。如果不是这种情况,该算法可能没有什么价值,因为早期阶段所做的工作将被后期阶段撤消。

我的问题是作者所说的上述陈述是什么意思?

谢谢!

0 投票
1 回答
1120 浏览

java - 插入排序与外壳排序程序。Shell 排序仅在某些时候有效

好的,这是一个数据结构类。任务是编写一个程序,从 txt 文件中获取 100 个整数的列表,获取 2 组不同的 4 个间隔进行 shell 排序,然后对 100 个数字进行排序,1)通过插入排序,2)通过 shell 排序,首先4 个数字作为间隔,3)shell 按秒 100 作为间隔排序,将排序后的列表输出到 txt 文件,打印每个排序中发生的赋值操作的数量(还没有完成这部分)。

当我编译并运行其中一种 shell 排序时,尽管它已部分排序,但通常不能完全工作。没有完全排序的 shell 排序可能是任何一种排序,所以我假设程序以特定间隔工作,但不是其他时间间隔,这不好 :)。谁能帮忙