0

26 ノードを含む最小スパニング ツリーで DFS を実行しようとしています。ノードには「A」から「Z」までの名前が付けられ、ツリーは無向です。

ここに、記述しようとしている DFS という空の関数があります。これは、ツリー (2D 配列) の startNode (ランダムに選択されたノード 'M') と endNode (ランダムに選択されたノード 'Z') を (推定) 取り込みます。 .

接続されたノードの重みは 2D 配列パラメーターで識別されますが、実際にノードにアクセスするにはどうすればよいですか?

必要なのは、DFS トラバーサルの順序で各 nodeName を出力することだけです。

2d 配列のノードごとに Node_class を作成する必要がありますか??

4

1 に答える 1

1

詳細な最初の検索では、ツリーを上に戻って次のブランチを取得する前に、エッジの全長をリーフノードまでトラバースしていることを確認する必要があります。問題の目的を理解しているかどうかはわかりませんが、あなたが理解していることは正しいと思います。どのノードが訪問されたか、および開始ノードから特定のノードまでの合計距離/重みを追跡するには、追加情報、つまり、まだ訪問されているかどうか、および各ノードへの最小の重みが何であるかを追跡する必要があります。 . これら 2 つの余分な情報を運ぶ「ラッパー」クラスを作成すると仮定すると、visit をデフォルトで false に、重みをデフォルトで無限大または非常に大きな数にします。 http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm

于 2010-12-30T00:31:00.190 に答える