Я сейчас работаю над проблемой, которая требует случайного выбора элемента из набора. Каждый из элементов имеет связанный с ним вес (вероятность выбора).
Моя проблема в том, что для наборов с небольшим количеством элементов, скажем, 5-10, сложность (время выполнения) решения, которое я использовал, является приемлемым, однако по мере увеличения количества элементов, скажем, для 1 КБ или 10 КБ и т. д., время выполнения становится неприемлемым.
Моя текущая стратегия:
Для больших наборов и большого количества выборок это процесс начинает проявлять квадратичное поведение, короче говоря, есть ли более быстрый способ? Возможно, лучший алгоритм?