アルゴリズムとプログラミング

基本情報技術者試験 科目A免除 修了試験 20170122 実施分 問6

親の節の値が子の節の値より小さいヒープがある。このヒープへの挿入は,要素を最後部に追加し,その要素が親よりも小さい間,親と子を交換することを繰り返せばよい。次のヒープの*の位置に要素7を追加したとき,Aの位置に来る要素はどれか。
二分木。根9。9の子は左11,右14。11の子は左24,右25(二重丸で,Aと記されている)。14の子は左19,右28。24の子は左29,右34。*は25の左下(点線で25とつながる,25の子の位置)。
  • ア 7
  • イ 11
  • ウ 24
  • エ 25

出典:基本情報技術者試験 科目A免除 修了試験 20170122 実施分 問6

答えと解説を見る

正解:イ

覚える知識

ヒープへの要素挿入(上方向への交換)

ヒープへの挿入は最後部に追加し、親より小さい間は親と交換しながら上へ移動させる操作である。

この問題で必要なこと

7を25の子として追加し、親より小さい間は交換を繰り返す。25→11→9と交換して根まで上がり、Aの位置には11が来る。

ひっかけ

交換が1回で止まると思うと25を選び、2回で止まると思うと11以外を選んでしまう。

この知識の出題:本試験系 0 回・免除試験 1 回(公開問題での観測値)

この知識をアプリで解いて覚える レッスン「2分探索木とヒープ」で学ぶ