メインコンテンツへスキップ
高度試験共通令和6年度 春期午前I問 3

令和6年度 春期 高度試験共通 午前I 問3

難度標準

各ノードがもつデータを出力する再帰処理f(ノードn)を定義した。この処理を、次の2分木の根から始めたときの出力はどれか。

2分木は、根が+、根の左の子がA、右の子が÷である。÷の左の子は×、右の子は−である。×の左の子はB、右の子はC、−の左の子はD、右の子はEである。

〔f(ノードn)の定義〕

1. ノードnの右に子ノードrがあれば、f(ノードr)を実行

2. ノードnの左に子ノードlがあれば、f(ノードl)を実行

3. 再帰処理f(ノードr)、f(ノードl)を未実行の子ノード、又は子ノードがなければ、ノード自身がもつデータを出力

4. 終了

選択肢

解説

結論 → 詳細 → 補足 の 3 層構成

展開
結論Layer 1

各ノードで右の子、左の子の順に再帰処理を終えてから、そのノード自身を出力します。

詳細Layer 2
展開

根の+から右部分木の÷へ進み、−の部分木はE、D、−、×の部分木はC、B、×の順に出力するので、÷まででED−CB×÷となります。次に根の左のA、最後に根の+を出力するため、全体はED−CB×÷A+となり、正解はエです。

各選択肢の解説

ア

+÷−ED×CBA

誤りです。+÷−ED×CBAは、各ノードでまず自身を出力し、その後に右の子、左の子の順で辿った前順の出力です。定義の手順3では、右と左の子の処理を終えてから(子がなければすぐに)自身を出力します。そのため根の+は最初ではなく最後に出力され、出力の末尾に来ます。

イ

ABC×DE−÷+

誤りです。ABC×DE−÷+は、左の子、右の子、自身の順に辿った通常の後順の出力です。定義では手順1で右の子を先に処理するので、f(+)はまず右の÷の部分木に進みます。根の左の子Aが出力されるのは÷の部分木をすべて出力した後なので、先頭はAではなくEになります。

ウ

E−D÷C×B+A

誤りです。E−D÷C×B+Aは、右の子、自身、左の子の順に辿った中順の出力で、演算子が二つの子の間に入っています。定義では、−は右の子Eと左の子Dを両方処理した後に初めて出力されます。そのためE、D、−の順となり、演算子が子の間に出力されることはありません。

エ

ED−CB×÷A+

正しいです。f(+)は右の÷に進み、f(÷)は右の−に進みます。f(−)で右のE、左のDを出力してから−を出力します。次に÷の左の×でC、B、×を出力してから÷を出力します。最後に+の左のAを出力してから+を出力するので、出力はED−CB×÷A+です。

この解説は?
AI生成

解説は公式の問題文・公式解答を基に作成しています。 事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があるため、 重要な判断は必ずリンク先の公式資料でご確認ください。

最終更新:

検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。

分野「基礎理論」の学習ポイント

この問題の理解を「分野全体の力」に広げるための足がかり

何が問われるか
2進数・論理演算・確率・統計など、IT全般の土台となる数学・離散構造の理解度。
学習の進め方
公式の暗記ではなく、ビット表現や真理値表を「手で書ける」状態を作る。例題を3パターン以上手で解いて感覚化する。
関連キーワード
2進数論理演算シフト演算誤差確率情報量
この分野の問題をもっと解く
AI コパイロット

この問題を AI と深掘りする

用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。

クイズモードで開く

関連する問題

基礎理論 の他の問題

他年度の「基礎理論」問題

高度試験共通 の同じ分野を年度をまたいで演習する

高度試験共通 の学習ガイド