An efficient random item sampler that ensures O(1) sampling complexity, and equal selection probability for all items across cycles. Each cycle ensures unique, non-repeating item selections, with each item sampled only once per cycle. Upon cycle completion, the sampler automatically refreshes, initiating a new cycle to repeat the process.
random constant-time sampling sampler shuffle cycles random-shuffle random-sample rounds random-select random-permutations random-selection random-samples no-repetitions random-item random-selector efficient-sampling non-replacement random-element
- Updated
Nov 10, 2024 - TypeScript