カコモンノート

問6応用情報技術者 令和6年度 春期

6 / 80問
令和6年度 春期2024年

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

この問題の図
問題に添えられた図。出典は下に書いています。

選択肢をえらぶと、答えと解説が出ます

選択肢をえらぶと、
ここに答えと解説が出ます
正答 4

解説

正解は4。f(ノードn)は「右の子を処理 → 左の子を処理 → 自分を出力」の順で動く。左右が逆になった後行順(帰りがけ順)と考えればよい。
根の+:まず右の÷を処理する。÷の右の-を処理すると、-の右のE、左のDを出力し、次に-を出力する(ED-)。続いて÷の左の×で、右のC、左のB、×を出力する(CB×)。ここで÷を出力する。最後に+の左のAを出力し、+を出力する。並べると ED-CB×÷A+ で4が正しい。

  • 1は、自分を先に出力してから右、左の順に進めた場合(行きがけ順の左右逆)。
  • 2は、左の子から処理する通常の帰りがけ順の出力。
  • 3は、右の子、自分、左の子の順にたどった場合(通りがけ順の左右逆)。

根拠:問題に示された再帰処理の定義と2分木の走査

KEY POINT
再帰処理で自分を出力する位置が子の処理の後なら帰りがけ順。右の子から先に処理すると並びが左右逆になる。
出典:令和6年度 春期 応用情報技術者試験 午前 問6(独立行政法人 情報処理推進機構(IPA))
独立行政法人情報処理推進機構(IPA)が公表している過去問題です。IPA の「過去問題の使用について」に基づき、IPA が指定する形で出典を明記して掲載しています(利用の許諾申請は不要)。問題文・選択肢の内容は変えていません。元の問題冊子から文字を起こす都合で、改行・字間の空白は省き、英数字の全角・半角は元とそろえていない箇所があります。図表は IPA が公表した問題冊子のものです。解説は当サイトが独自に作成したもので、IPA とは関係ありません。