Ответ прямо здесь, в цитате.Прокрутите вниз до javadocs:
* @param r upper bound for the random range
Мне кажется, что r
должно быть числом узлов в дереве.Вы согласны?
Я случайно выбираю узлы из двоичного дерева, и мне нужно создать тест черного ящика, который доказывает, что все узлы имеют почти одинаковую вероятность выбора.
Я не понимаю этого.Вы?Кажется, это не проверка древовидной структуры данных, а скорее случайный алгоритм, который вы используете для выбора узла, который нужно выбрать.Что этот результат доказывает?
Проведите меня через то, что вы делаете, пожалуйста.Вот что я себе представляю:
- У вас есть список узлов в вашем дереве.
- Вы каким-то образом используете случайный алгоритм, чтобы выбрать узел для выбора из своего дерева.
- Вы просматриваете свое дерево, чтобы найти этот узел.
Если в вашем дереве есть r
узлы, каждый из них должен иметь вероятность 1 / r выбора.Это многомерная, односторонняя монета или кубик.Правильно?
Дерево может внести в микс еще один элемент: вероятности изменяются, если шансы на выбор зависят от того, где вы находитесь в дереве, и от того, разрешено ли вам возвращаться назад.Если это так, шансы быть выбранными различны на каждом узле.Начиная с корня означает, что вы можете добраться до всех дочерних узлов.Нахождение на первом уровне и невозможность возврата назад исключает возможность рассмотрения корневого и всех других узлов первого уровня и т. Д.
Какую проблему вы пытаетесь решить?