Graph クラス (リストとマトリックスの両方の実装) を設計しています。などのメソッドを提供する必要がありますGetAdjacencies(int vertex)
。
最初の瞬間、私は戻ることを考えました。そうすれば、ステートメントIEnumerable
を使用して結果を反復処理できるようになります。foreach
しかし、次の瞬間、新しいリストが発生するたびに作成する必要があるため、これは恐ろしい解決策であることに気付きましたGetAdjacencies(int vertex)
。
次に を返すことを考えましたが、そうすると結果の usingステートメントEnumerator
を反復処理できません。foreach
ただし、効率ははるかに優れています (多くのグラフ アルゴリズムを実装する予定であり、最適化に非常に関心があります)。
C# でこれを行う正しい方法を教えてください。