【问题标题】:Johnson-Trotter Permutation约翰逊-特罗特排列
【发布时间】:2015-10-14 00:42:09
【问题描述】:

我正在尝试编写一个程序,该程序可以使用 Johnson-Trotter 方法生成具有不同数量元素的排列。我仍然对如何准确地获得排列感到困惑。对于 5 个元素,我只能做到这一点,然后我就卡住了。我并不是要求所有这些都只是更多,所以我可以把模式写下来。

1 2 3 4 5

1 2 3 5 4

1 2 5 3 4

1 5 2 3 4

5 1 2 3 4

【问题讨论】:

    标签: permutation


    【解决方案1】:

    我找到了以下页面:

    http://introcs.cs.princeton.edu/java/23recursion/JohnsonTrotter.java.html

    试着一步步运行这个Java程序,肯定会有很大帮助...

    【讨论】:

      【解决方案2】:

      我在卡片融合游戏中使用了 Johnson-Trotter 算法。上面提到的princeton.edu 链接被广泛引用,但相当混乱。而且我看到的代码要么是递归的(很糟糕),要么是低效的。我将它重写为迭代器,它在我的游戏中运行良好。在这里查看我的另一篇文章:https://stackoverflow.com/a/28241384/4266886 带有(非常短的)代码。如果我能提供进一步帮助,请告诉我。

      【讨论】:

        猜你喜欢
        • 2011-07-16
        • 1970-01-01
        • 2013-08-14
        • 2019-06-20
        • 2021-04-01
        • 2019-02-08
        • 2017-06-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多