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

右→左→自身の順で走査するとED-CB×÷A+

高度試験・午前I(全区分共通)2024年度 春期3/テクノロジ系 / アルゴリズムとプログラミング

2分木。根が「+」、その左の子が「A」、右の子が「÷」。「÷」の左の子が「×」、右の子が「-」。「×」の左の子が「B」、右の子が「C」。「-」の左の子が「D」、右の子が「E」。
2分木。根が「+」、その左の子が「A」、右の子が「÷」。「÷」の左の子が「×」、右の子が「-」。「×」の左の子が「B」、右の子が「C」。「-」の左の子が「D」、右の子が「E」。

選択肢

正解と解説

正解: ED-CB×÷A+

この再帰は「右部分木→左部分木→自ノード」の順に処理する、後行順走査の左右を入れ替えた走査である。根+の右部分木÷から始まり、÷の右部分木-でE、D、-を出力、次に÷の左部分木×でC、B、×を出力、続いて÷を出力。最後に根の左の子Aを出力し、+を出力する。よってED-CB×÷A+となる。

選択肢ごとの解説

出典:令和6年度 春期 高度試験・午前I(全区分共通) 問3(IPA)

同じ分野の他の問題

最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。