有向非巡回グラフの幅を見つけようとしています...隣接リストさえなくても、任意に順序付けられたノードのリストで表されます。
グラフ/リストは、実行順序の基準としてファイルを使用する並列 GNU Make のようなワークフロー マネージャー用です。各ノードには、ソース ファイルとターゲット ファイルのリストがあります。ファイル名を指定すると、それを生成するノードを決定できるように、ハッシュ テーブルが用意されています。このように、このテーブルを使用して各ソース ファイルを生成するノードを調べることで、ノードの親を特定できます。
これは、コードを大幅に変更することなく、現時点で私が持っている唯一の能力です。コードはしばらく公に使用されてきましたが、構造を大幅に変更して不適切なリリースを行うことは避けたいと考えています。いいえ、厳密にテストする時間はありません (私はアカデミックな環境にいます)。理想的には、ノードにフィールドを追加するよりも危険なことをせずにこれを実行できることを願っています。
私の現在のアプローチとその欠陥の概要を説明するコミュニティ wiki の回答を投稿します。誰かがそれを編集したり、出発点として使用したりしたい場合は、お気軽に. 物事を明確にするためにできることがあれば、質問に答えたり、必要に応じてコードを投稿したりできます。
ありがとう!
編集:気になる人のために、これはCになります。はい、私の疑似コードがひどく失敗したPythonのそっくりさんにあることは知っています。言語はあまり関係ないと思います。