2つの異なる時点でのディレクトリ構造のスナップショットを表す2つのツリー構造があります。スナップショット間でディレクトリが追加、削除、または変更された可能性があります。2つのツリーを同時に歩き、2つの違いで新しいものをマークする必要があります。つまり、ノードにNew、Modified、Deleted、Unchangedのフラグを付け、削除されたノードを追加して、最終結果が2つのスナップショットの完全なスーパーセットになるようにします。
通常、ツリーは約10の深さですが、非常に幅が広く、数十万、場合によっては数百万のノードが含まれている可能性があります。各ノードでハッシュコードを比較し、コードが一致しない場合にのみ再帰を続けることで、ツリーの大きなチャンクをスキップしたいと思います。
ここで私の友達になる可能性のあるアルゴリズムはありますか?他に何かアドバイスはありますか?