No.2ベストアンサー
- 回答日時:
問題の文脈がよくわからんけれど、最短路を問う以上は、おそらく各arc (edge) aに何らか重みw(a)が対応づけられていて、かつ、どの重みw(a)も正の実数である、という話なのだろう。
また、この場合に最短路木と呼んでいる木は、Gの全てのvertexを要素とするグラフであろう。注意すべきは、最短路木を作るよう求めているのではなく、与た最短路木の検証(verification)を求めている、というところ。すなわち、
(1) その木によって決まる、vertex vのrootからの距離dを、全てのvertexについて計算したものを d(v) (v∈V) とする。特に, d(root) = 0。
(2) それぞれのvertex vについて、vに入ってくるarc a の集合をA(v)、そのarc aの出発点のvertexをf(a)とする。 すべての vertex v∈Vについて、
d(v) = min { d(f(a)) + w(a) | a∈A(v) }
を確かめれば「与えられた木は最短路木だと思っても矛盾しない」と言えて、このとき、与えられた木が最短路木になってる。(「なってると言える」ということ自体は数学的証明を要するが。)
すると、(1)と(2)の処理をそれぞれ、すでに与えられている木に沿った深さ優先探索でやれば良い。
(特にw がすべて1という場合なら、木に沿った幅優先探索でやれば(1)と(2)を同時に処理できるだろうに、深さ優先でやれというのだから、wはイロイロなのだろう。)
…という話なのかしらん?それとも、f(a)が簡単には計算できない、という条件が付いているのかしらん?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ビデオカード・サウンドカード 1つのマザボでAMD&NVIDIAを同時使用できますか? 3 2022/04/22 14:36
- その他(プログラミング・Web制作) プログラミングの能力とアルゴリズムの能力は別物だと言われたのですが、これは本当ですか? プログラミン 1 2023/03/09 02:37
- その他(プログラミング・Web制作) プログラミング能力とアルゴリズム能力って違うのでしょうか? プログラミングの能力の一部にアルゴリズム 10 2023/03/31 14:34
- 計算機科学 アルゴリズムについて 1 2023/01/01 19:43
- 計算機科学 アルゴリズムが苦手な人の、特徴を教えてください 例)頭が避けない 1 2022/08/28 21:14
- 情報処理技術者・Microsoft認定資格 基本情報技術者試験について知りたい! こんにちは! 今年基本情報技術者試験を受験するつもりです。 今 2 2023/07/17 21:23
- その他(コンピューター・テクノロジー) アルゴリズム、配列のフローチャートの問題なのですが、全く分かりません… (ア)~(カ)に入るものを教 1 2023/06/29 21:19
- 高校 情報Iの「アルゴリズムの表現」(写真)の部分教えて欲しいです! 1 2022/07/27 11:48
- C言語・C++・C# プログラミング アルゴリズム 2 2023/03/07 23:21
- 計算機科学 アルゴリズムについて 2 2023/01/01 19:42
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報