1

だから私はダイクストラのアルゴリズムのJavaScript実装を書いています。

ウィキペディアのページから多くのことを読みました。これは、手順をコードに変換するのに役立ちました。私の質問の一部であるこのStackOverflowの質問も読みました。

Aから、唯一のパスはBです、これは私たちに与えます

O => AB = 12;

O => C = 7

Cは現在最小距離であり、新しい現在のノードです

O => CD = 8

Dが宛先で、8 <12であるため、ルートCDが選択されます。

この決定をコードにどのように実装しますか?現在、私のスクリプトは、現在のノードに隣接しているノードを選択するためのノードに基づいていますが、すべての決定をこの新しい種類の評価で実行する必要がありますか?

ちなみに、これ私の(厄介な)コードです。

4

1 に答える 1

2

私のスクリプトは、現在のノードに隣接しているノードに基づいて選択するノードに基づいています

いいえ。connectedNodesリスト(距離でソート)は、現在のノードだけでなく、グローバルである必要があります。

次に、最初の(最短距離)ノードについて、訪問していないすべてのネイバーをリストに追加しますが、距離でソートされたままです。現在訪問しているノードをマークし、次に訪問していないノードに進みます。

于 2012-10-29T01:37:59.460 に答える