この問題は、与えられた関数の操作内容から、どのようなデータ構造であるかを判断するものです。
読み込み中...
読み込み中...
十分な大きさの配列 A と初期値が0の変数pに対して、関数f(x)とg()が次のとおり定義されている。配列Aと変数pは、関数f(x)とg()だけでアクセス可能である。
これらの関数が操作するデータ構造はどれか。
function f(x) {
p=p+1;
A[p] = x;
return None;
}
function g() {
x = A[p];
p=p-1;
return x;
}
結論 → 詳細 → 補足 の 3 層構成
この問題は、与えられた関数の操作内容から、どのようなデータ構造であるかを判断するものです。
関数f(x)は、変数pを1つ増やしてから配列Aのp番目の要素に値xを格納します。一方、関数g()は、配列Aのp番目の要素の値を取得してから、変数pを1つ減らします。この動作は、後から格納されたデータが先に取り出される(Last In, First Out - LIFO)という特性を示しています。このLIFOの特性を持つデータ構造はスタックです。キューは先入れ先出し(First In, First Out - FIFO)の構造です。ハッシュはキーと値のペアを効率的に検索する構造であり、ヒープは親子関係に基づいた完全二分木で、最大値または最小値を取り出しやすい構造です。したがって、これらの関数が操作しているデータ構造はスタックです。
解説は Google Gemini に IPA 公式の問題文・公式解答を入力して生成しています。 事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があるため、 重要な判断は必ず IPA 公式資料でご確認ください。
最終更新:
検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。
この問題の理解を「分野全体の力」に広げるための足がかり
用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。
基礎理論 の他の問題
基本情報技術者 の同じ分野を年度をまたいで演習する
基本情報技術者 勉強時間の目安|社会人・学生・未経験別の合格モデル
基本情報技術者試験の合格に必要な勉強時間を、社会人・学生・IT未経験の3パターン別に分解。週次の時間配分例と科目A/Bの配分指針を実例で解説します。
基本情報技術者 科目B完全対策|疑似言語・アルゴリズムを確実に解く方法
基本情報技術者試験の科目Bは疑似言語とアルゴリズムが中心。トレース力の鍛え方・頻出パターン(ソート・再帰・リスト)の解法を、AIコパイロット活用法とともに解説します。
基本情報のアルゴリズムが苦手な人の克服ステップ|挫折せずに科目Bを突破する
基本情報技術者試験の科目Bで多くの受験者が挫折するアルゴリズム分野。苦手意識を解消し、確実に得点できるようになるための学習ステップと心の作り方を解説します。
基本情報技術者試験 出題傾向の最新分析|2024〜2025年で増えた論点と捨て論点
基本情報技術者試験の直近2年の出題傾向を分析し、増加している新論点・減少している論点・捨てて良い論点を整理。学習計画の優先度付けに活用できます。