algorithm - 是否有算法可以为不必要的不同元素生成不同的排列?
问题描述
我一直在阅读像Steinhaus-Johnson-Trotter和Heap这样的算法来生成排列,包括 Sedgewick 关于该主题的论文。但是,当所有元素都不同时,这些似乎都有效。如果我有可以共享值的元素,并且我想过滤掉N!
观察性重复的详尽排列部分,会发生什么?
我听说过字典法。C++ 库中甚至还有两个与它们相关的函数。但是如果数据是无序的呢?也就是说,我只有一个等价谓词,而不是排序谓词。
Sedgewick 研究的那些算法是否可以适应跳过等效排列(当然,第一个除外)?
有一个现有的查询“<a href="https://stackoverflow.com/q/30963085/1010226">distinct permutations of a list with repeats”可能很接近,但它的问题和解决方案集在 R ,而不是一般的。
解决方案
推荐阅读
- mysql - MySQL:在连接条件中使用别名
- jenkins - 如何在 Jenkins 管道中将 groovy 变量传递给 powershell?
- html - 如何从 Materializecss 中删除预选的 Tab 指示器?
- python - NumPy 数组的反向堆叠操作
- javascript - 循环遍历嵌套的 json 数组以创建新数组
- algorithm - 如何证明 SCS 的长度可以从 LCS 的长度推导出来?
- c# - 将列表绑定到 ASP.NET 中的第二个 SQL 表的最佳方法
- spss - IBM SPSS - 拆分散点图
- android - onActivityResult 中的路径变量为空
- tfs - 将 Visual Studio Live Share 与 TFS 结合使用