データ構造に対してイテレータが必要です。今のところ、データ構造が何であるかはわかりません.DAG(有向非巡回グラフ)かもしれませんが、連結リストかもしれません。だから私はそれをイテレータにラップしたいのですが、今は特定のデータ構造では考えていません。
再帰的なビジターで DAG を訪問する方法は知っていますが、反復子メソッドnext()
とhasNext()
.
イテレーター内で、現在のノード インスタンスを作成し、すべての子に対して for ループを繰り返してから、親に戻ります。「既に訪問済み」フラグが必要です。だから私DagElement
はこれらのより多くの属性を持っています:
DagElement parent
boolean alreadyVisited
これはきれいな解決策ではないと思います。
何かアドバイス?