首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >混沌排列

混沌排列
EN

Stack Overflow用户
提问于 2017-04-16 00:09:13
回答 2查看 570关注 0票数 2

是否有任何算法,可以在合理的时间内对给定的列表进行混沌排列?我使用Python,但我担心的是,由于给定列表中的110万个元素的长度,给定的洗牌函数不能提供一个很好的解决方案。

我做了一些谷歌搜索,没有找到任何有用的结果,如果有这样的东西,我会很惊讶,但我会非常感激的答案。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-16 00:54:29

用洗牌。对于任何实际目的,它都足够快,也足够混乱。

票数 1
EN

Stack Overflow用户

发布于 2017-04-16 09:35:54

只是想解决产生洗牌的方式,使所有的组合是可能的。正如您注意到的,伪随机数生成器受可以从它们中创建的组合数量的限制。要创建真正的洗牌,您需要真正的RNG。

步骤1:使用在线RNG获取足够的随机数以满足熵要求(即检索RNs的日志(n!)/wordsize数)。有关更多细节,请参见https://softwareengineering.stackexchange.com/questions/76822/i-need-a-true-random-number-generator-web-service

步骤2:一旦你有足够长的RN,比如说k,问题就变成了创建kth置换。搜索互联网,你会发现大量的解决方案。例如:Given n and k, return the kth permutation sequence

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43432439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档