グラフを作成し、を使用して追加する頂点の一意性を確認していHashSet<T>
ます。アイテムがまだ追加されていない場合、そのメソッドAdd()はtrueを返します。
エッジにはどのようなテクニックを使用できますか?ペアABまたはペアBAペアのいずれかが一度追加されたことを確認する必要があります。
これが私が使用しているデータの軽量バージョンです:
interface INode
{
INode[] Previous { get; }
Node Next { get; }
}
で、〜がある:
INode current;
INode[] allPrevious = ExternalMethod1(current);
INode[] allNext = ExternalMethod2(current);
そのため、再帰的に巡回している間はグラフを作成できません。すべてのデータを保存して、繰り返し処理します。