У меня есть список вершин, из которых я должен выбрать случайную вершину с вероятностью, пропорциональной deg (v), где deg (v) - степень вершины. Псевдо-код для этой операции выглядит так:Выбор элемента из коллекции с вероятностью, пропорциональной значению элемента
Select u ∈ L with probability deg(u)/Sigma ∀v∈L deg(v)
где и случайным образом выбирается вершина, L список вершин и V является вершиной в L. Проблема заключается в том, что я не понимаю, как сделай это. Может кто-нибудь объяснить мне, как получить эту случайную вершину. Я был бы очень признателен, если бы кто-нибудь мог мне это объяснить. Псевдокод будет еще более оценен;).
Это, кажется, очевидный ответ. Нет необходимости создавать aux-структуру данных, когда ребра графа содержат одну и ту же информацию. – VSOverFlow
очень умный, ИМХО предыдущий метод применяется в более общем плане для каждой ситуации, когда вам нужно выбирать узел пропорционально его значению, которое может быть отличным от степени ... – user299791