問題
各ノードがもつデータを出力する再帰処理 f(ノード n) を定義した。この処理を、図の 2 分木の根(最上位のノード)から始めたときの出力はどれか。〔f(ノード n) の定義〕1.ノード n の右に子ノード r があれば、f(ノード r) を実行 2.ノード n の左に子ノード l があれば、f(ノード l) を実行 3.再帰処理 f(ノード r)、f(ノード l) を未実行の子ノード、又は子ノードがなければ、ノード自身がもつデータを出力 4.終了

選択肢
- 1+÷−ED×CBA
- 2ABC×DE−÷+
- 3E−D÷C×B+A
- 4ED−CB×÷A+
正解
4. ED−CB×÷A+
詳しい解説を見る解説を閉じる
解説
この再帰処理は、まず右の子、次に左の子を再帰的にたどり、子をもたない(又は子の再帰を終えた)ノードで自身のデータを出力する。これは「右部分木→左部分木→節」の後行順(後順)に相当する。根 +(左 A、右 ÷)から始めると、右の ÷(左 ×、右 −)を先に処理する。− は E,D を出して −、× は C,B を出して × となり、÷ 配下は E D − C B × ÷、続いて左の A、最後に根 + を出力して ED−CB×÷A+ となる。よってエが正解。(出典: 令和6年度 春期 応用情報技術者試験 午前 問6)
一問一答
全400問を繰り返し学習