この概念が出た関連問題

この試験の対策ガイド

基本情報技術者試験 対策ガイド

合格率・勉強法・参考書の選び方をまとめています

見る →
答えと解説を見る(先に解くのがおすすめ)

正解は イ

解説

2分探索木(Binary Search Tree:BST)の性質:各ノードに対して「左部分木のすべての値 < 自ノードの値 < 右部分木のすべての値」が成立します。この性質から、根(root)から辿ることで節点の大小関係が決まります。問題の木構造で根をaとすると、aの左部分木(b, d, e)の値はすべてaより小さく、右部分木(c, f, g)の値はすべてaより大きいです。さらにbの左がd、右がe(d < b < e)、cの左がf、右がg(f < c < g)となります。中順巡回(in-order traversal:左→根→右)すると昇順に並ぶ性質から、d < b < e < a < f < c < gという大小関係が導かれます。

なぜ他の選択肢は違うのか

選択肢 ア
「a < b < d < e < c < f < g」はルートaが最小という誤りです。2分探索木では根より左部分木の値が小さいため、aはd・b・eより大きくなければなりません。根を最小と誤解して全体の順序を間違えた場合の誤答です。
選択肢 ウ
「d < e < f < g < b < c < a」はルートaが最大という誤りです。根より右部分木の値が大きい(c・f・g > a)はずが、aが最大になっています。右部分木と左部分木の大小関係を逆に理解した場合の誤答です。
選択肢 エ
「g < f < c < e < d < b < a」は全体が逆順になっています。2分探索木を右→根→左の逆順巡回した場合の誤答です。中順巡回は左→根→右であり、昇順になることを覚えておきましょう。

解くときのポイント

2分探索木の中順巡回(左→根→右)で昇順列が得られます。「左部分木 < 根 < 右部分木」を根から各ノードに適用して大小関係を整理するのが確実な解法。図のノードを中順巡回した順番が答えになります。