カコモンノート

問5応用情報技術者 平成29年度 秋期

5 / 80問
平成29年度 秋期2017年

配列A[1],A[2],…,A[n]で,A[1]を根とし,A[i]の左側の子をA[2i],右側の子をA[2i+1]とみなすことによって,2分木を表現する。このとき,配列を先頭から順に調べていくことは,2分木の探索のどれに当たるか。

選択肢をえらぶと、答えと解説が出ます

選択肢をえらぶと、
ここに答えと解説が出ます
正答 4

解説

正解は4。A[i]の子をA[2i]、A[2i+1]に置くと、根A[1]が深さ0、A[2]〜A[3]が深さ1、A[4]〜A[7]が深さ2…と、添字の順に浅い階層から左から右へ並ぶ。配列を先頭から順に調べることは、根から近い階層を一段ずつ調べる幅優先探索と同じ順序になる。

  • 1は、行きがけ順は親→左の部分木→右の部分木の順で、A[1]、A[2]、A[4]…と深く潜るので添字順にならない。
  • 2は、帰りがけ順は左右の子を先に訪れて親を最後にするので、根A[1]が最後になる。
  • 3は、通りがけ順は左の部分木→親→右の部分木で、最初に訪れるのは最も左下のノード。

根拠:二分木の配列表現(ヒープの格納方法)と探索順序の定義。

KEY POINT
配列で表した二分木(A[2i]、A[2i+1]が子)を添字順に見ると、階層ごとに並ぶ幅優先探索の順になる。
出典:平成29年度 秋期 応用情報技術者試験 午前 問5(独立行政法人 情報処理推進機構(IPA))
独立行政法人情報処理推進機構(IPA)が公表している過去問題です。IPA の「過去問題の使用について」に基づき、IPA が指定する形で出典を明記して掲載しています(利用の許諾申請は不要)。問題文・選択肢の内容は変えていません。元の問題冊子から文字を起こす都合で、改行・字間の空白は省き、英数字の全角・半角は元とそろえていない箇所があります。図表は IPA が公表した問題冊子のものです。解説は当サイトが独自に作成したもので、IPA とは関係ありません。