Joh*_*nny 10 random tree
如何从树中选择随机元素?是否有必要事先知道树的深度/大小?
Jef*_*rey 14
它不是.要随机选择一个节点,只需按照您喜欢的顺序遍历树.让检查的第n个节点是概率为1/n的所选节点.也就是说,保留您将在变量中返回的节点的记录,当您查看第n个节点时,将当前节点替换为第n个概率为1/n的节点.您可以通过归纳显示这可以随机均匀地返回节点,而无需事先知道有多少节点.
Quo*_*nux -1
只需对每个节点进行 0 到(子节点数)-1 范围内的随机调用,然后选择该数字之后的下一个子节点。
重复此操作,直到进入一片叶子。
归档时间:
15 年,7 月 前
查看次数:
2535 次
最近记录: