торможу...

From
Max Alekseyev (2:5015/60)
To
Alexey Cheglyakov
Date
2002-07-19T17:52:02Z
Area
RU.ALGORITHMS
████ OS/2        Hi, Alexey !

Replying to a message of Alexey Cheglyakov to All:

 AC> Есть массив из неизвестного к-ва строк. Нужно за один проход случайным
 AC> образом выбрать одну строку. Вероятность выбора для всех строк
 AC> одинаковая.

Запоминаешь в result первую строку. С приходом строки номер n, с вероятностью 1/n заменяешь result на эту строку. По достижению конца массива возвращаешь result.

 AC> Усложнение задачи - для каждой строки имеется весовой коэфициент
 AC> (целое число), повышающий вероятность выбора этой строки.

Тоже самое, только вероятность замены result на строку номер n равна w[n]/(w[1]+...+w[n]), где w[i] - вес i-ой строки.

Regards,      °°
        Max    ~

--- FleetStreet 1.27.3.8
 * Origin:  (2:5015/60)