Algorithm 美式排序和基数排序有什么区别?
我遇到了一种叫做美国排序的排序算法。我读到它是基数排序的变体。有人能详细介绍一下这种排序算法以及与之相关的时间和空间复杂性吗。您指的是一种高效的、就地的基数排序变体,它将项目分配到数百个存储桶中。这是一种分布排序:将项目从输入分布到多个中间结构(本例中为bucket),然后收集这些中间结构并将其放在输出上Algorithm 美式排序和基数排序有什么区别?,algorithm,sorting,data-structures,time-complexity,space-complexity,Algorithm,Sorting,Data Structures,Time Complexity,Space Complexity,我遇到了一种叫做美国排序的排序算法。我读到它是基数排序的变体。有人能详细介绍一下这种排序算法以及与之相关的时间和空间复杂性吗。您指的是一种高效的、就地的基数排序变体,它将项目分配到数百个存储桶中。这是一种分布排序:将项目从输入分布到多个中间结构(本例中为bucket),然后收集这些中间结构并将其放在输出上 基数排序:时间:O(nk),空间:O(n+k),n是键的数量,k是一个数字(值)可以拥有的最大位数 美国国旗排序:时间:O(n*k/d),空格:O(k),n是位数,k是平均桶大小 阅读更多
基数排序:时间:O(nk),空间:O(n+k),
n
是键的数量,k
是一个数字(值)可以拥有的最大位数
美国国旗排序:时间:O(n*k/d),空格:O(k),n
是位数,k
是平均桶大小
阅读更多信息 在本文中,对这两种算法进行了实验比较
一种挂着美国国旗的爪哇语。就是这个吗<代码>空间:如果
k
是基数或桶数,则原地不考虑计数和偏移量数组,它们可能是O(k)
。