跳到主要内容

京都大学 情報学研究科 数理工学専攻 2014年8月実施 アルゴリズム基礎

Author

祭音Myyura

Description

G=(V,E)G = (V, E) を節点集合 VV、枝集合 EE から成る連結な単純無向グラフとし、節点 uu の隣接の集合を N(u)N(u) と書く。 GG の部分グラフ HH における節点 uu から節点 vv への最短路内の枝数を distH(u,v)\text{dist}_H(u,v) と書き、HH における節点 uu から節点 vv への最短路の総数を σH(u,v)\sigma_H (u,v) と書く。 始点 sVs \in V を選び、TTss からの幅優先探索により得られた GG の全域木とする。 以下の問いに答えよ。

(i) TT を用いて、dmax=max{distG(s,u)uV}d_{\max} = \max \{\text{dist}_G(s,u) \mid u \in V\} および Vi={uVdistG(s,u)=i}V_i = \{u \in V \mid \text{dist}_G(s, u)=i\}, i=0,1,,dmaxi=0,1,\ldots, d_{\max}O(V)O(|V|) 時間で計算する方法を示せ。

(ii) {σG(s,u)uV}\{\sigma_G(s, u) \mid u \in V\} 内のすべての値を O(E)O(|E|) 時間で計算する方法を示せ。

(iii) ある節点 tV{s}t \in V - \{s\} と節点の部分集合 AV{s,t}A \subseteq V - \{s,t\} に対して、GG における ss から tt への最短路のうち、AA の節点を1個は通過するものの個数を O(E)O(|E|) 時間で計算する方法を示せ。

(iv) ある節点 tV{s}t \in V - \{s\} と節点の部分集合 AV{s,t}A \subseteq V - \{s,t\} に対して、GG における ss から tt への最短路のうち、AA の節点を少なくとも2個通過するものが存在するかどうかの判定を O(E)O(|E|) 時間で計算する方法を示せ。

Kai

Almost the same as 京都大学 情報学研究科 数理工学専攻 2024年8月実施 グラフ理論, please check it.