Выберите N случайных элементов из List<T> в C#
Перебрать и для каждого элемента random-sample сделать вероятность выбора random = (нужное число)/(оставшееся collections число)
Таким образом, если random-sample бы у вас было 40 предметов, у random первого был бы шанс быть java-collections-api выбранным 5/40. Если это c# так, то следующий имеет шанс c-sharp 4/39, в противном случае c# он имеет шанс 5/39. К тому algorithm-design времени, когда вы дойдете collection до конца, у вас будет 5 предметов, и csharp часто у вас будут все они c#.net до этого.
Эта техника называется algorithms selection sampling, частный случай Reservoir Sampling. По производительности random это похоже на перетасовку algorithm-design ввода, но, конечно, позволяет algorithms генерировать выборку без element изменения исходных данных.
c#
algorithm
collections
random
element
Выберите N случайных элементов из List<T> в C#
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.