Bucket Sort中的Bucket index

时间:2011-11-19 06:26:26

标签: sorting indexing bucket

我正在努力改进我的桶数量超过10000的大数量。我不太确定,为什么我的代码在大数字上表现不佳。 我的Bucket Sort算法适用于大小为n的数组:

  1. 创建大小为n
  2. 的链接列表数组
  3. 计算数字范围

  4. 计算每个存储桶的间隔

  5. 计算存储桶的索引,将特定数字放在何处 (问题:我通过从数字和增量计数器中不断减去间隔来计算索引,每次我减去interval.Counter是索引) 我相信找到索引的这种特殊方式对于大数字来说需要很长时间。 如何改进桶的查找索引?
  6. P.S。我听说有预处理数组的方法,找到数组的最小和最大数量。然后通过从min减去特定数字来计算指数。指数=数分钟。我没有完全理解计算索引。 问题: 1.这是找到索引的有效方法吗? 2.当我有4号数组和数字31,34,51,56时,我如何处理案例? 31到桶0,34到桶3,51和56怎么样? 3.还有其他方法可以计算指数吗?

1 个答案:

答案 0 :(得分:0)

您可以通过分部更快地找到您的索引。指数=值/区间。如果第一个间隔从'min'开始而不是0,则使用(value-min)作为分子。