私はこの問題の解決に取り組んでいます:
ゲーデル教授は、ダイクストラのアルゴリズムを実装していると主張するプログラムを作成しました。プログラムは、Vの各頂点vに対してvdとv.πを生成します。教授のプログラムの出力をチェックするために、O。(V + E)時間アルゴリズムを与えます。d属性とπ属性がいくつかの最短経路ツリーの属性と一致するかどうかを判断する必要があります。すべてのエッジの重みは負ではないと想定できます。
vdは、開始ノードからvvまでの最短距離です。vvπは、開始ノードからvまでの最短経路におけるvの先行です。
私の考えは次のとおりです。すべての頂点(i)について、idを(i.π).dと比較します。iの前任者のd値が大きい場合、最短経路ツリーを作成することはできません。
これにより、教授の出力が最短経路ツリーではないかどうかを確認できると思いますが、出力が最短経路ツリーであるかどうかは確認できないと思います。これ以上の情報がなければ、これを行う方法を考えることはできません。
私は正しい方向に進んでいますか?