応用情報技術者試験 応用情報技術者試験 令和6年度春期 午前6: 各ノードがもつデータを出力する再帰処理 f(ノード n) を定義した。この処理を,図の 2 分木の根(最上位のノード)から始めたときの出力はどれか。 〔f(ノー

応用情報技術者試験 令和6年度春期 午前
Q 66 / 80
各ノードがもつデータを出力する再帰処理 f(ノード n) を定義した。この処理を,図の 2 分木の根(最上位のノード)から始めたときの出力はどれか。 〔f(ノード n)の定義〕 1.ノード n の右に子ノード r があれば,f(ノード r) を実行 2.ノード n の左に子ノード l があれば,f(ノード l) を実行 3.再帰処理 f(ノード r),f(ノード l) を未実行の子ノード,又は子ノードがなければ,ノード自身がもつデータを出力 4.終了
2分木の図。根が+,左の子がA,右の子が÷。÷の左が×(子B,C),右が−(子D,E)
この問の正解率:45.95%(259件)

解説

応用情報技術者試験 令和6年度春期 午前 問6「各ノードがもつデータを出力する再帰処理 f(ノード n) を定義した。この処理を…」の正解と解説です。応用情報技術者試験の「テクノロジ系」分野の過去問で、これまでの受験者の正答率は約46%です。

正解

. ED−CB×÷A+

正答率 45.9%(259人中 119人が正解)

問題の解説

この再帰処理は「右の子→左の子→自分自身」の順に処理するため、左右を入れ替えた後行順(帰りがけ順)の走査となり、出力は逆ポーランド記法を右優先で並べた形になる。木は根+の左にA・右に÷、÷の左に×(子B,C)・右に−(子D,E)である。根から右優先でたどると、÷の右の−を先に処理して E,D,− を出力、次に÷の左の×で C,B,× を出力、続いて÷を出力、最後に根の左のA、根の+を出力する。結果として ED−CB×÷A+ となり、エが正解である。

応用情報技術者試験 令和6年度春期 午前 の過去問一覧に戻る・問6

応用情報技術者試験 の iOS アプリ版

アプリ版なら、よりスムーズに動作し、
スワイプで問題遷移ができます。

応用情報技術者試験 合格.dev を App Store でダウンロード