radix-sort

    0热度

    1回答

    我有一个学校项目,我需要使用不同的排序算法对所有种类的数据类型进行排序。基数排序工作得很好,但除了整数之外,它不能排序。我可能不会添加除整数以外的排序结果,因为每个数据类型都会按整数排序。 这就是说,我想知道是否有更好的方法将字符串转换为整数?这就是我带来的。我不想超越智能python,尽可能地使用标准函数。 def charToHex(char): return hex(ord(cha

    1热度

    1回答

    我需要一个存储元组的数据结构,并且允许我执行如下查询:给定整数的元组,找到下一个(为其设置的上限)。我的意思是考虑自然顺序(a,b,c)<=(d,e,f) <=> a<=d and b<=e and c<=f。我已经尝试MSD基数排序,它将项目拆分成桶并对它们进行排序(并且对于元组中的所有位置递归地执行此操作)。有人有其他建议吗?理想情况下,我希望在O(log n)内发生高级查询,其中n是元组的数

    2热度

    1回答

    我最近试图对整数对向量实施基数排序(其中第二个元素仅在第一个元素相等时才被考虑)。我这样做是通过应用计数排序两次 - 首先对该对的第二个元素,然后到第一个元素。下面是我如何实现计数排序首先: //vector to be sorted (of size n). vector<int> arr; //arr gets filled here //N-1 is the maximum nu

    0热度

    2回答

    我明白了32位整数被分解为8位块。有人能给我一些关于传球如何运作的更多解释吗?一个简单的例子会帮助我更好地理解它。作为一个例子,我有2147507648和2147507672.我把它们分解成8位块。 128 0 093 216是细分为2147507672和128 0 093 192细分为2147507648. 我明白LSD基数排序如何用于基数10.我将不胜感激,如果有人能告诉我排序如何工作这些32

    4热度

    1回答

    我正在探索下面的算法: 计数排序 基数排序 桶排序 我知道所有这三个能够在最好的情况下以线性时间运行的,但我除了计数排序的情况之外,在发生这些情况时,我很难理解。 这是我计算的体悟,以及如何我想对于其他两种算法,如果可能的答案: 计数排序运行线性时间时,有你想成为信息之间没有很大的差距排序。例如1,10^5和545等会创建一个大数组,并且使用内存和遍历效率不高,所以这将是使用计数排序的“更坏的情况

    0热度

    1回答

    我需要创建一个基数排序方法,它使用按位运算符(>>,<,<,&,|)从值中检索各个位。 文件看起来是这样的: 0100 1 0011 110 0010 101 0001 11 0000 我目前拥有的文件(尺寸为未知)的读取。起初我以整数读取它们,但意识到我正在截断前导零。所以我将它们存储到一个String []中。 public static void readFile(Str

    0热度

    1回答

    大家好,我需要为任意数量的数字和值写一个RADIX排序算法。我认为使用LL来操作比使用数组来存储0-9值更容易。我认为这将是更好地使用递归来解决这个问题,但有困难IM和得到错误 Exception in thread "main" java.lang.StackOverflowError at java.util.LinkedList$Node.<init>(Unknown Source) a

    0热度

    1回答

    我正在实现一个2字节的基数排序。其概念是使用计数排序来排序整数的低16位,然后排序高16位。这使我可以在2次迭代中运行排序。我有的第一个想法是试图找出如何处理负面情况。由于符号位将被翻转为负数,然后以十六进制形式使负数大于正数。为了解决这个问题,我在符号位正向时翻转了符号位,以使[0,2 bil] = [128 000 000 000,255 255 ...)。当它是负数时,我翻转所有的位,使其范

    -4热度

    1回答

    我可以使用一些帮助。你将如何编写一个程序在Python中实现基数排序? 下面是一些信息: 基数排序为基数10个整数是基于排序穿孔卡片, 但事实证明,那种很ecient。这种类型使用一个主 箱和10位数字箱。每个垃圾箱的行为就像一个队列,并按照它们到达的顺序保持其值为 。该算法首先将每个 号码放在主箱中。然后它考虑每个 值的个位数。第一个值被删除并放置在与个位数对应的数位槽 中。例如,534被放置在

    0热度

    1回答

    我试图想出一个基本的基数排序(我从来没有见过一个,所以我很抱歉,如果我的可怕),但我得到一个EXC_BAD_ACCESS错误link = *(link.pointer);。我的C技能不是很好,所以希望有人能教我做错了什么。 我正在使用XCode并启用了ARC。 下面是代码: #include <stdlib.h> #include <stdio.h> #include <math.h> #i