我一直在阅读像Steinhaus-Johnson-Trotter和Heap这样的算法来生成排列,包括 Sedgewick 关于该主题的论文。但是,当所有元素都不同时,这些似乎都有效。如果我有可以共享值的元素,并且我想过滤掉N!
观察性重复的详尽排列部分,会发生什么?
我听说过字典法。C++ 库中甚至还有两个与它们相关的函数。但是如果数据是无序的呢?也就是说,我只有一个等价谓词,而不是排序谓词。
Sedgewick 研究的那些算法是否可以适应跳过等效排列(当然,第一个除外)?
有一个现有的查询“<a href="https://stackoverflow.com/q/30963085/1010226">distinct permutations of a list with repeats”可能很接近,但它的问题和解决方案集在 R ,而不是一般的。