0

[2, 3, 1, 4]シーケンスの2つの順列(たとえば、 )を指定して、最初の順列を2番目の順列に変換するために必要なサイクル[4, 1, 3, 2]を計算するアルゴリズムを探しています(たとえば、 )。[[0, 3], [1, 2]]

mathworldからのリンクによると、MathematicaのToCycle関数がそれを実行しますが、残念ながら手元にMathematicaライセンスがありません...FOSS言語または数学パッケージでのアルゴリズムの実装へのポインタを喜んで受け取ります。

ありがとう!

4

1 に答える 1

1

私はここで解決策を見つけましたhttp://www.codechef.com/problems/PCYCLEインデックスを2番目の順列によって確立されたソート順に再マップするために調整する必要があるだけです...

于 2010-03-19T10:27:23.083 に答える