Учитывая список элементов x1 ... xn и связанных с ними probabilties p1 ... pn, которые суммируются до 1, существует известная процедура выбора случайного элемента с его ассоциированной вероятностью путем сортировки списка по весу, выбора случайного значение между 1 и 0 и суммирование до суммы кульминации до тех пор, пока оно не превысит выбранное значение и не вернет элемент в этот момент.Выберите элемент из списка с предубеждением?
Итак, если мы имеем x1 -> 0,5, x2 -> 0,3, x3 -> 0,2, если выбрано случайно выбранное значение меньше 0,5 x1, если между 0,5 и 0,8, x2 и еще x3.
Для этого требуется сортировка, поэтому требуется время O (nlogn). Есть ли что-то более эффективное?