メインコンテンツへスキップ
ネットワークスペシャリスト令和6年度 春期午前I3

令和6年度 春期 ネットワークスペシャリスト 午前I3

難度標準

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

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

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

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

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

4. 終了

選択肢

+÷-ED × CBA
ABC×DE-++
E-D-C×B+A
ED-CB×÷A+

解説

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

展開
結論Layer 1

この問題は、与えられた再帰処理f(ノードn)を2分木の根から順に適用した際の出力順序を問うものです。f(ノードn)の定義を順に見ていくと、まず右の子ノードがあればその右の子ノードに対してfを実行し、次に左の子ノードがあればその左の子ノードに対してfを実行します。これらの再帰処理が完了した後に、ノード自身のデータを出力するという後置処理(Postorder Traversal)の性質を持っています。

詳細Layer 2

選択肢エは、ED-CB×÷A+ となっています。これは、右の子ノードから処理を開始し、それが完了してから左の子ノードを処理し、最後に現在のノードのデータを処理するという、右子→左子→自身という順序に合致しています。

補足Layer 3

ここで、各誤った選択肢を検討します。

アは +÷-ED × CBA となっており、演算子とオペランドの配置が再帰処理の定義と一致しません。

イは ABC×DE-++ となっており、こちらも定義された順序とは異なり、特に演算子の位置がおかしいです。

ウは E-D-C×B+A となっており、これも再帰処理の定義から導かれる順序とは異なります。

したがって、f(ノードn)の定義に基づき、右の子ノード、左の子ノード、そして最後にノード自身のデータを出力する後置順(Postorder Traversal)の処理を辿ると、選択肢エが正解となります。

この解説は?
この解説は AI 生成です(詳細)

解説テキストは Google Gemini に IPA 公式の問題文・公式解答を入力して生成しました。 人間によるレビューを行ったものと、未レビューのものが混在します。

AI は事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があります。 重要な判断は必ず IPA 公式 PDF または最新の参考書でご確認ください。

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

※ AI 生成の解説は誤りを含む可能性があります。重要な判断は IPA 公式資料でご確認ください。

最終更新:

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

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

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

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

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

クイズモードで開く

共有

X でシェアLINE

ショート動画

関連する問題

基礎理論 の他の問題