我正在努力改进我的桶数量超过10000的大数量。我不太确定,为什么我的代码在大数字上表现不佳。 我的Bucket Sort算法适用于大小为n的数组:
计算数字范围
计算每个存储桶的间隔
P.S。我听说有预处理数组的方法,找到数组的最小和最大数量。然后通过从min减去特定数字来计算指数。指数=数分钟。我没有完全理解计算索引。 问题: 1.这是找到索引的有效方法吗? 2.当我有4号数组和数字31,34,51,56时,我如何处理案例? 31到桶0,34到桶3,51和56怎么样? 3.还有其他方法可以计算指数吗?
答案 0 :(得分:0)
您可以通过分部更快地找到您的索引。指数=值/区间。如果第一个间隔从'min'开始而不是0,则使用(value-min)作为分子。