平成29年度 秋期 応用情報技術者試験 午前 問5
配列 A[1],A[2],…,A[n] で,A[1] を根とし,A[i] の左側の子を A[2i],右側の子を A[2i+1] とみなすことによって,2 分木を表現する。このとき,配列を先頭から順に調べていくことは,2 分木の探索のどれに当たるか。
キーボード:1〜4 で解答 → 次の問題 ← 前の問題
正解と解説を見る
解答する前に解説を開いたので、この問題は「見て解いた」として記録します(正解数には入りません)。
正解:エ
-
ア: 行きがけ順(先行順)深さ優先探索
誤り。先行順では、根 A[1] の次に左の子 A[2]、その次は A[2] の左の子 A[4] を調べます。配列の順(A[1]、A[2]、A[3]、…)とは一致しません。 -
イ: 帰りがけ順(後行順)深さ優先探索
誤り。後行順では、最初に左端の葉を調べ、根 A[1] は最後になるので、配列の順とは一致しません。 -
ウ: 通りがけ順(中間順)深さ優先探索
誤り。中間順では、最初に左端の葉を調べ、その後で親を調べるので、配列の順とは一致しません。 -
エ: 幅優先探索
正しい。この表現では、A[1] が深さ 0、A[2]~A[3] が深さ 1、A[4]~A[7] が深さ 2 … のように、配列の先頭から順に並んでいる要素は浅い階層から順に、同じ階層では左から右に並んでいます。したがって、配列を先頭から調べることは幅優先探索に当たります。
答え
エ: 幅優先探索
出典:平成29年度 秋期 応用情報技術者試験 午前 問5