python洗牌算法性能

python洗牌算法性能,python,performance,time-complexity,shuffle,Python,Performance,Time Complexity,Shuffle,我想知道randomPython库/模块中的时间复杂性。是O(n)还是小于O(n) 是否有一个网站可以显示属于Python库的函数的时间复杂性?您不能在少于O(n)的时间内以完全随机的方式洗牌列表 使用,很容易看出是O(n)。谢谢!我想我需要我自己的随机函数(我想不是完全随机的)@Saher:你能想出一种比O(n)更好的方法吗?我没想过,但我的意思是,基本上为了我写的算法,我可以将前4到5个项目随机排列,然后选择第一个,这不是关键。现在我想得更多了。没有比O(n)更好的方法了,因为你最多只能遇到

我想知道
random
Python库/模块中的时间复杂性。是O(n)还是小于O(n)


是否有一个网站可以显示属于Python库的函数的时间复杂性?

您不能在少于O(n)的时间内以完全随机的方式洗牌列表


使用,很容易看出是O(n)。

谢谢!我想我需要我自己的随机函数(我想不是完全随机的)@Saher:你能想出一种比O(n)更好的方法吗?我没想过,但我的意思是,基本上为了我写的算法,我可以将前4到5个项目随机排列,然后选择第一个,这不是关键。现在我想得更多了。没有比O(n)更好的方法了,因为你最多只能遇到每个列表元素一次。@Saher:如果你只选择第一个,那么你所需要的可能就是
random.choice()
?关于你的第二个问题-@Alex:考虑到列表中唯一的库是
collections
,而不是OP想要的,我认为。@Wooble它是一个wiki,所以将来可能不仅仅局限于
集合。(重新阅读后,这似乎是针对CPython的,但至少是一个有趣的参考。它可能会激励人们为
random
和其他库创建一个等效的wiki页面)