問題

選択肢
- 1adjMatrix[u, u] ← 1
- 2adjMatrix[u, u] ← 1 / adjMatrix[v, v] ← 1
- 3adjMatrix[u, v] ← 1
- 4adjMatrix[u, v] ← 1 / adjMatrix[v, u] ← 1
- 5adjMatrix[v, u] ← 1
- 6adjMatrix[v, v] ← 1
正解
4. adjMatrix[u, v] ← 1 / adjMatrix[v, u] ← 1
詳しい解説を見る解説を閉じる
解説
ループ内で u には辺の一方の端点 edgeList[i][1]、v には他方の端点 edgeList[i][2] が入る。頂点 u と頂点 v の間に辺があるのだから、隣接行列の u 行 v 列を 1 にする必要がある。さらに無向グラフでは辺に向きがなく、隣接行列は対称行列になるため、v 行 u 列も 1 にしなければならない。したがって adjMatrix[u, v] ← 1 と adjMatrix[v, u] ← 1 の両方を行うエが正解。ウや オ のように片方だけだと対称性が崩れ、図 2 のような対称な隣接行列にならない。ア・イ・カ は対角成分(自分自身との辺)を 1 にしており、辺の表現として誤り。よってエが正解。(出典: 令和6年度 基本情報技術者試験 科目B 問3)
一問一答
科目A 180問+科目B 60問