戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

応用情報技術者 2017年 秋期 午前206


問題文

ノード 1〜5をもつグラフを隣接行列で表したもののうち、木となるものはどれか。ここで、隣接行列のi行j列目の成分は、ノードiとノードjを結ぶエッジがある場合は1、ない場合は0とする。
応用情報技術者 2017年 秋期 午前2 問06の選択肢の画像

選択肢

(正解)

🔒 解説は解答すると表示されます

グラフの木判定【午前2解説】

正解の理由

隣接行列から得られるグラフが木であるための必要十分条件は「ノード数 に対してエッジ数が であり、かつ連結である」ことです。与えられた5ノードの各選択肢を調べると、行列の1の総和(対角は0なので対称要素の和)が次数の合計になり、エッジ数はその和を2で割った値になります。選択肢のうち、行列から計算するとエッジ数がちょうど4()であり、実際に全ノードがつながっているのは です。具体的に の辺は 1–2、1–5、2–3、2–4 の4本で、接続性と無閉路性(連結かつエッジ数が )を満たします。

解法ステップ

  1. 隣接行列が無向グラフの対称行列であることを確認(与題は無向なので問題なし)。
  2. 各行の1の個数を足して次数合計 を求め、エッジ数 を計算する。
  3. ノード数 と比較し、 であるか確認する(木の必要条件)。
  4. 連結性を確認する(BFS/DFSで全ノード到達可能か)。 かつ連結なら木である。
  5. 必要なら閉路の有無を直接チェック(DFSでバックエッジの検出など)。
(本問では なので木であれば であることが決め手になります。)

選択肢別の誤答解説

    • 各ノードの次数はすべて2で、次数合計は10。したがってエッジ数は 本です。エッジ数が を超えているため閉路が存在し、木ではありません(例:1–2–3–4–5–1 のような巡回が可能)。
    • 各行の1の個数は [2,3,1,1,1] で次数合計は8、エッジ数は 本です。辺は 1–2、1–5、2–3、2–4 で全ノードが繋がっています。よって連結かつエッジ数が を満たすため木です(正解:)。
    • 各行の1の個数は [2,2,3,2,1] で次数合計は10、エッジ数は 本です。エッジ数が4より多いため木ではありません。実際に閉路(例:1–2–3–4–1)が存在します。以前の記述でのエッジ数誤記はなく、正しい値は5本です。
    • 各行の1の個数は [2,2,4,2,2] で次数合計は12、エッジ数は 本です。 を大きく上回るため木ではありません。複数の閉路が含まれます(例えば 1–3–2–1 や 3–4–5–3 など)。正しいエッジ数は6本です。

よくある誤解

  • 1の総数をそのままエッジ数と勘違いする(必ず合計を2で割ること)。
  • エッジ数が なら自動的に木だと考え、連結性を確認しない(孤立成分があると木にならない)。
  • 行列の対角要素や自己ループ(問題では0)を無視せず誤カウントする。

補足コラム

  • 木の特徴的な性質:ノード数が の木は「連結かつ閉路がない」「連結かつエッジ数が 」「閉路がなくエッジ数が 」のいずれかの性質で判定できます。隣接行列からは次数合計→エッジ数を簡単に求められるので、まずは数値的条件を確認し、次にDFS/BFSで連結性を確かめる流れが最短です。
  • 実装例(簡易):隣接行列から次数合計を計算してエッジ数を求め、DFSで訪問数がか確認する、という手順が典型です。
例(参考用のPythonスニペット):
# adjacency: 2D list of 0/1, n = len(adjacency)
S = sum(sum(row) for row in adjacency)
E = S // 2
# BFS/DFSで連結性を確認

FAQ

Q. エッジ数が なら必ず木ですか?
A. いいえ。エッジ数が かつ連結であれば木です。 でも連結でなければ森林(複数の木の集合)になります。
Q. 隣接行列の対称性は常に満たされますか?
A. 無向グラフの隣接行列は対称になります。対称でない場合は有向グラフの表現であり、ここでの条件は変わります。
Q. 計算を速くするコツは?
A. まず次数合計からエッジ数を判定し、 なら即不合格とする。 の場合のみDFS/BFSで連結性を確認するのが効率的です。

関連キーワード: グラフ理論、隣接行列、次数合計、エッジ数、連結性、深さ優先探索、幅優先探索、閉路検出、木、スパニングツリー
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

応用情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について