因此,我正在研究collections shuffle方法,并试图提出一个清单,该清单列出了我们在运行该方法时可以保证和不能保证的内容。我列举了一些明显的情况,如下:
这个清单是总结还是我错过了一些可能的情况?
最佳答案
official documentation of Collections.shuffle
有很多话要说。该列表将使用Fisher-Yates shuffle algorithm进行改组,ojit_a(假设O(1)中提供了随机访问)在时间O(n)和空间O(1)中运行。如果随机访问不可用,则实现将使用空间O(n)。假设底层随机源完全无偏,则发生任何特定排序的可能性是相等的(即,您在可能的排列上获得了均匀的随机分布)。
因此,回答您的问题: