2017-05-09 65 views
-1

我们可以减少Fisher-Yates混洗算法中对rand(n)进行的呼叫次数吗?如果不是,我们怎么知道我们所做的电话号码是合理的。Fisher-Yates shuffle算法

+0

费雪耶茨的作品。通过一系列随机选择的,与每个选择都选择一个对象。如果你试图用更少的选择来获胜,那么就不会再有费希尔 - 耶茨了。 –

回答

0

我们可以减少节数被调用到兰特(N)取得了费雪耶茨洗牌算法

没有

要选择从阵列k点 - 有k致电rand(),最多N-1

如果不是,我们如何知道我们正在拨打的电话号码是否合理。

那么,你应该知道你想要多少分生产/置换,所以这是你有多少呼叫rand()使