删除重复的Quickperm

问题描述 投票:-1回答:2

我最近研究了Quickperm算法来迭代生成字符串的排列,除了this以外,它不是非常详细/说明性,我找不到其他任何可以更清楚地解释它的资源。我还认为,只需检查我们交换的值是否相同,就可以处理字符串中有重复字符,但仍然存在重复排列的情况。

谁能指出如何删除重复项并提供其他来源或解释quickperm算法?

java algorithm permutation
2个回答
1
投票

似乎不太可能在生成排列时立即进行,在QuickPerm中,最好的选择是在每个完全生成的排列后继续添加到集合中,以继续删除重复项。


0
投票

将标准算法用于enumerating permutations in lexicographic order。像许多聪明的算法一样,QuickPerm也很脆弱。不能轻易将其推广到重复的情况。

© www.soinside.com 2019 - 2024. All rights reserved.