首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Next_permutation与效率

Next_permutation与效率
EN

Stack Overflow用户
提问于 2011-07-11 22:36:29
回答 2查看 1.8K关注 0票数 2

从一个范围内对象可能的随机排序开始,使用next_permutation单步执行所有较大的排列,然后逐步递减,再次从原始排序开始,使用prev_permutation到达最后一个排序,是否更有效?

或者,在排列之前对范围进行排序,然后只使用next_permutation遍历所有范围?

EN

回答 2

Stack Overflow用户

发布于 2011-07-12 01:04:15

要获得所有排列,请从排序范围开始,然后

代码语言:javascript
复制
do
{
  // something
} while(next_permutation(range.begin(), range.end());

当再次对range排序时,它会停止。这个过程是O(n!)。

当你开始使用随机化的范围时,你会遗漏一些排列。

票数 2
EN

Stack Overflow用户

发布于 2011-07-11 22:41:54

这完全没有区别,算法不会重用以前的结果,所以不需要事先排序。

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

https://stackoverflow.com/questions/6651785

复制
相关文章

相似问题

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