私のコードでは、有向非巡回グラフを表すクラスを使用しています。私は自分でコードを書きました、それは難しくありませんでした。しかし、後で私は自分のアプリにもっと多くの要件があることに気付きました。グラフは推移簡約である必要があります。つまり、部分的なオードラーの一意の表現である必要があります。ユーザーがグラフのビジュアルGUI表現でドラッグアンドドロップまたはカット/コピー/貼り付けを行うたびに、それを検証してこの要件に適合させる必要があります。今、物事はより複雑になります。そこで、すべてのグラフ操作を安全に実行する方法などを計画しましたが、実際にコードに飛び込む前に、次のことを知りたいと思います。
半順序の既知のC/C ++インターフェースはありますか?(できればC ++)
グラフ用のライブラリをたくさん見つけましたが、私はすでに単純な非巡回有向グラフコードを持っています。推移簡約グラフを具体的に扱うものは見つかりませんでした(隣接行列は必要ありません。データはユーザーから取得されるため、ここでは非効率的です...これはユーザーデータ用の小さなグラフであり、数学的な使用)
不要な接続を自動的に検出して削除し、ノードのコピー/移動操作が半順序で有効かどうか、つまり半順序のプロパティを保持するかどうかを確認するためのテストを行うインターフェイスを探しています。