Я пытаюсь написать программу, чтобы выбрать случайное имя из Список фамилии нашей переписи . Формат списка
Name Weight Cumulative line
----- ----- ----- -
SMITH 1.006 1.006 1
JOHNSON 0.810 1.816 2
WILLIAMS 0.699 2.515 3
JONES 0.621 3.136 4
BROWN 0.621 3.757 5
DAVIS 0.480 4.237 6
предполагает, что я загружаю данные в структуру, такую как
Class Name
{
public string Name {get; set;}
public decimal Weight {get; set;}
public decimal Cumulative {get; set;}
}
, какая структура данных будет лучше всего держать список имен, и что было бы лучшим способом выбрать случайное имя из списка, но иметь Распределение имен оказывается таким же, как реальный мир.
Я буду работать только с первыми 10 000 строк, если это имеет значение в структуре данных.
Я пытался посмотреть на некоторые другие вопросы о взвешенной случайности, но у меня есть немного неприятностей, превращая теорию в коде. Я не знаю много о теории математики, поэтому я не знаю, является ли это «с заменой», когда это «с заменой или без», я хочу, чтобы одинаковое имя, способное появиться более одного раза, что когда-либо означает.