我需要生成将用作数组索引的“随机”int 值,因此它们对于给定的间隔需要是唯一的。
LFSR 似乎非常适合这项任务,但有一个问题:数组大小应该为 2^n(在某些情况下,它强制分配比所需内存更多的内存(例如数据大小 2100 - 数组大小 4096))或跳过生成的数字,直到找到正确的值(浪费 LFSR 功能,在某些情况下,索引的生成时间可能很明显)。
我试图创建一些公式来计算数组索引,但我失败了,特别是对于小(<120)数组大小。
这个问题是否有任何最优(在资源和计算时间方面)解决方案?
提前感谢您的回答!