radix-sort

    0热度

    3回答

    我不完全理解基数排序,因此这使得编写此程序变得更加困难。我需要对从.txt文件读取的字符串数组进行排序。我能够读取文件并将字符串输入到数组中。一个字符串可以包含字母或特殊字符。我需要编写用于排序数组的代码。这感觉就像我接近有正确的代码,但我卡住了,不知道还有什么要做。如果我能得到帮助并指出我朝着正确的方向,我将不胜感激。 每个字符串都有相同数量的字符。我也在使用包含一个队列类的stackPacka

    0热度

    1回答

    这是一个基数/桶排序混合,硬编码为9位数字。我的快速排序程序快两倍,可以排序10米数字。我已经验证了输出是正确的,但速度很慢。 代码: public static void main(String[] args) { Scanner in = new Scanner(System.in); ArrayList<Integer> inputs = new ArrayList<>(

    0热度

    1回答

    所以我有一个任务,我必须在大量随机生成的列表上运行不同的排序算法。然后,我必须提交一份比较各种算法运行时间的报告。到目前为止,我已经写了3种排序算法的代码:quicksort,mergesort和heapsort。我只剩下基数。以下是代码。此代码扔我一个ArrayIndexOutOfBoundsException在这条线: b[--bucket[(a[i]/exp) % 10]] = a[i];

    1热度

    1回答

    即使在我为包含1000万条目的数组动态分配空间后,以下代码在4Gb计算机上运行时也会出现分段错误。它可以正常工作,有100万个条目,即n = 1000000.下面的代码使用基数排序将整数值及其索引值排序。我应该做些什么来使这个计划适用于1000万条记录。 int main() { int n=10000000; // 10 million entries int *arr=n

    0热度

    1回答

    我陷入了下面的问题几天。我用C来实现基数排序,除了一行代码外,一切都很好。你能帮我解决这个问题吗? 我的问题是在radix_sort函数的第一行。虽然我使用int semi_sort[12],但我可以正确运行程序。但是,我想使用我传入函数的大小变量,但是当我使用int semi_sort[size]而不是int semi_sort[12]时,我的程序会崩溃。谁能告诉我为什么?顺便说一句,我提到th

    3热度

    2回答

    我在考虑线性时间排序问题,它出现在相当多的数据源中,这些数据源会提示您在线性时间内对0至n^3-1范围内的数字进行排序。 因此,要做到这一点的方法之一是使用通常在O(wn)运行,其中w是通过观察,我们可以通过使用底座n获得字长3为任意数量的该范围内的最大字长基数排序。 而且这里存在我的问题 - 虽然它在纸面上看起来正常,实际上将所有的数字立足n用简单的方式是要采取相当多的时间,很可能比后来的排序本

    4热度

    1回答

    我想在Python中实现基数排序。 我目前的程序工作不正常,因为像[41,51,2,3,123]这样的列表会被正确地排序为[2,3,41,51,123],但是像[52,41,51, 42,23]将变成[23,41,42,52,51](52和51在错误的地方)。 我想我知道为什么会发生这种情况,因为当我比较十位数字时,我不会比较单位(对于10的更高幂也是如此)。 如何解决此问题,以便我的程序以最快的

    0热度

    1回答

    我一直在努力但是当我跑我的基数为10码,它工作正常,所有输入端,用C编写 基数排序算法,与基地16它只是排序的前10个元素都能正常。另外,对于任何其他基地,它不起作用。 我想做一个实现,推广任何基地。 这里是代码至今,你能找到的任何问题? #include <stdio.h> #include <stdlib.h> int size=32; int getMax(int arr[], int

    4热度

    2回答

    我在阅读并学习基数排序的Java实现,如下所示。如果有人能够澄清pointTo,index和globalPtr的逻辑含义,那将会很棒。 https://www.hackerrank.com/challenges/string-similarity/editorial private void radixSort0() { globalPtr = 0; Arrays.fill(b

    0热度

    2回答

    我想实现并行基数基数排序与基数256.似乎我函数srt在单线程中运行良好。但是,当有更多的线程用于随机数据时,有时会出现错误:函数srt的“访问冲突读取位置”后跟“marker [index]”的地址。它在函数srt的第15行中断行,即“tmp = marker [index]”,其索引值为63.任何一个解释发生了什么? inline void count(unsigned* list, int