アルゴリズムとプログラミング
二分探索木(Binary Search Tree)に対して中順走査(in-order traversal)を行ったとき、ノードの値が取り出される順序はどれか。
ア.値が昇順(小さい順)に取り出される正解
イ.値が降順(大きい順)に取り出される
ウ.ルートから近い順(幅優先順)に取り出される
エ.ノードが挿入された順番に取り出される
解説
二分探索木は「左の子 < 自分 < 右の子」という大小関係を全ノードで守っている構造です。「左→自分→右」の順に訪れる中順走査は、そのルールに沿って最小値から順番に拾っていくので、必ず昇順になります。
なぜ ア が正解か
中順走査は「左サブツリー全体 → 自分 → 右サブツリー全体」を再帰的に繰り返します。二分探索木の定義上、左サブツリーの値はすべて自分より小さく、右サブツリーはすべて大きい。この構造を持つ木に対して中順走査を行うと、最小値から最大値へと順番にノードを拾うことになるため、結果として昇順の列が得られます。
出典: AI生成問題(学習用)