问题标签 [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.
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 序列的方法是什么?
c# - 课堂作业 - c# 中的 shellsort?
我需要一种在 c# 中使用 ShellSort 对数组进行排序的简单方法,请帮助我
java - Shell 排序 Java 示例
谁能给我举个关于 shell 排序的例子吗?我是这里的新手,必须学习 shell 排序,但首先我必须找到一个 Java shell 排序示例。我在谷歌上找到了一个例子,但是太难了。
java - 如何更改此 shell 排序中的 H 序列?
我希望能够修改此代码,以便它使用 Knuth 的 H 序列而不是这个。如果有人可以提供帮助,我将不胜感激。
java - Shellsort 间隔问题 Java
当我使用标准间隔大小以及使用非标准大小时,我需要测试 shellsort 的效率。我遇到的问题是当我尝试使用我的非标准间隔时。
当 h 等于标准间隔大小时,这是我的 Shellsort:
这是我尝试使用质数区间
我试图根据实时效率比较两者,但我不知道如何让这个 prim 间隔工作。
我正在尝试测试:
- Shellsort performs better than O(N^2) with appropriately chosen interval sizes
- 选择的一系列间隔大小对于实现优于 O(N^2) 运行时很重要
感谢您的任何帮助。
sorting - openmp中的shell排序
有谁熟悉openmp,我没有得到排序列表。我究竟做错了什么。我在最后使用了critical,因此在排序后只有一个线程可以访问该部分。我想我的私人价值观不正确。他们是否应该在那里,或者我最好只使用#pragma omp for。
algorithm - 壳排序分析
我正在阅读一本关于算法的书,其中提到了关于 shell 排序算法的分析,如下所示:
Shellsort 的最坏情况运行时间,使用 Shell 的增量,是 Theta(n square)。
证明不仅需要显示最坏情况运行时间的上限,而且还需要显示存在一些输入实际上将下限作为 Omeaga(n 平方) 时间运行。我们首先通过构造一个坏案例来证明下界。
我上面的问题是:
- 为什么作者提到坏情况来检查下限?我教要获得下限,我们应该采取最好的情况,请在上面澄清。
谢谢!
algorithm - 关于shell排序算法
我正在读一本关于算法的书。它在shell排序中提到如下
Shellsort 的一个重要属性(我们在没有证明的情况下声明)是一个 (h subscipt k) hk-sorted 文件,然后是 (h subsciprt (k-1)) hk-1-sorted 仍然是 hk-sorted。如果不是这种情况,该算法可能没有什么价值,因为早期阶段所做的工作将被后期阶段撤消。
我的问题是作者所说的上述陈述是什么意思?
谢谢!
java - 插入排序与外壳排序程序。Shell 排序仅在某些时候有效
好的,这是一个数据结构类。任务是编写一个程序,从 txt 文件中获取 100 个整数的列表,获取 2 组不同的 4 个间隔进行 shell 排序,然后对 100 个数字进行排序,1)通过插入排序,2)通过 shell 排序,首先4 个数字作为间隔,3)shell 按秒 100 作为间隔排序,将排序后的列表输出到 txt 文件,打印每个排序中发生的赋值操作的数量(还没有完成这部分)。
当我编译并运行其中一种 shell 排序时,尽管它已部分排序,但通常不能完全工作。没有完全排序的 shell 排序可能是任何一种排序,所以我假设程序以特定间隔工作,但不是其他时间间隔,这不好 :)。谁能帮忙