Python には、頂点オブジェクトのディクショナリを持つ Graph クラスがあります。各頂点オブジェクトには、エッジのディクショナリがあります (開始ノード、終了ノード、重みで構成されています...移動コストの数値が割り当てられた別のノードを指している矢印の端を想像してください)。
これらのクラスを使用して、飛行機が都市から都市へと飛行するのにかかる時間をグラフにしています。このグラフから、ダイクストラのアルゴリズムを使用して、2 つのノード間の最短経路 (最速経路) を決定することになっています。また、開始頂点から到達可能なすべての頂点を決定することになっています。
グラフで完全にエッジを追加したり、エッジを削除したり (その結果、ノードを追加したり) することができます。しかし、私の人生では、私が作成したデータ構造を使用して、ダイクストラのアルゴリズムまたは幅優先探索 (到達可能な頂点を決定するため) を実装する簡単な方法を理解できないようです。
これらのアルゴリズムを変更または実装して正しく動作させるために何をする必要があるかを誰かが提案できる場合は、助けていただければ幸いです。これは、私が 1 週間近く、1 日に何時間も取り組んできた宿題であり、この壁を乗り越えることができないようです。繰り返しますが、アドバイスや助けをいただければ幸いです。誰かが私のためにコードを書いてくれるとは思っていませんが、疑似コードが役に立ちます (そしてそれを適用します。ウィキペディアから疑似コードをコピーして貼り付けても、私は既にそこにいるので役に立ちません)。