私は、20代のどこかに深さのツリーオブジェクトのセットを持っています。このツリーの各ノードはツリーのルートにアクセスする必要があります。グローバルを削除しますか?
ソリューションのカップル:各ノードが直接ルートへの参照を格納することができ
- (廃棄物のメモリ)私は、実行時にルートを計算することができます
- 「上がり」による(廃棄物・サイクル)
グローバル(いずれのバリエーションでも)を使用しない設計を提供することができますが、メモリまたはサイクルの両方で#1または#2より効率的です。
編集:私はツリーのセットを持っているので、ツリー間を区別するのが難しいので、単に静的に格納することはできません。 (ありがとうmaccullt)
木の森がある場合は、いくつかの根が必要な場合、または1つの根がある場合は、それは明確ではありません。森林の場合、統計があなたの問題をどのように解決するかは分かりません。ツリーごとに1つのルートが必要ではなく、各ツリーはルートを参照します(ソリューション1)。 – maccullt