完全な無向グラフのすべてのハミルトニアン サイクルを生成したいと考えています (ループとリバースが重複としてカウントされ、除外されるセットの順列)。
たとえば、{1,2,3} の順列は
標準順列:
1,2,3
1,3,2
2,1,3
2,3,1
3,1,2
3,2,1
プログラム/アルゴリズムに出力してもらいたいもの:
1,2,3
321 はちょうど 123 後ろにあるので、312 はちょうど 123 1 回転した場所などです。
特定の集合に含まれるこれらのサイクルの数と、グラフにハミルトン サイクルがあるかどうかを検出するアルゴリズムについては多くの議論が見られますが、それらを完全な無向グラフ (つまり、数値の集合セット内の他の番号が先行または後続する可能性があります)。
このタスクを達成するためのアルゴリズムまたは C++ コードが本当に必要です。または、このトピックに関する資料がある場所を教えていただければ幸いです。ありがとう!