イが正解となる理由は、各実装方法における要素の追加・削除の計算量にあります。
読み込み中...
読み込み中...
n個の要素x1,x2,…,xから成る連結リストに対して、新たな要素 xm+1の末尾への追加に要する時間をf(n) とし、末尾の要素x』の削除に要する時間をg(n) とする。n が非常に大きいとき、実装方法 1 と実装方法2におけるf(n)g(n)の挙動として、適切なものはどれか。〔実装方法1〕先頭のセルを指すポインタ型の変数 front だけをもつ。〔実装方法2〕先頭のセルを指すポインタ型の変数 front と、末尾のセルのを指すポインタ型の変数rear を併せもつ。
結論 → 詳細 → 補足 の 3 層構成
イが正解となる理由は、各実装方法における要素の追加・削除の計算量にあります。
実装方法1は、先頭のセルを指すポインタ front のみを持つため、末尾への要素追加や末尾要素の削除には、リストの先頭から末尾までを順番にたどる必要があります。これはリストの要素数nに比例した時間がかかり、計算量はO(n)となります。したがって、f(n)もg(n)もほぼnに比例します。
実装方法2は、先頭のポインタ front に加えて、末尾のセルを指すポインタ rear を持ちます。このrearポインタを利用することで、末尾への要素追加は直接末尾のセルに新しい要素を連結できるため、定数時間O(1)で完了します。末尾要素の削除も、rearポインタから一つ前の要素をたどることで、これも定数時間O(1)で実現できます。したがって、f(n)はほぼ1に比例し、g(n)もほぼ1に比例します。
アは、実装方法2における末尾要素の削除時間がnに比例すると誤っています。実装方法2ではrearポインタがあるため、末尾削除は定数時間で可能です。
ウは、実装方法1における末尾への要素追加時間が1に比例すると誤っています。実装方法1では末尾への追加はリストの走査が必要なため、nに比例します。
エは、実装方法1における末尾への要素追加時間と、実装方法2における末尾要素の削除時間が共にnに比例すると誤っています。実装方法2ではrearポインタにより末尾操作が効率化されます。
解説は Google Gemini に IPA 公式の問題文・公式解答を入力して生成しています。 事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があるため、 重要な判断は必ず IPA 公式資料でご確認ください。
最終更新:
検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。
この問題の理解を「分野全体の力」に広げるための足がかり
用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。
基礎理論 の他の問題
ネットワークスペシャリスト の同じ分野を年度をまたいで演習する
ネットワークスペシャリスト 難易度と合格率の実態|過去5年推移と他高度試験比較
ネットワークスペシャリスト(NW)試験の難易度と合格率を、過去5年の推移と他の高度試験との比較で解説。合格者のバックグラウンド傾向と、難易度に応じた学習投資の目安を示します。
ネットワークスペシャリスト 頻出パターン完全攻略|プロトコル・設計・障害解析
ネットワークスペシャリスト(NW)試験の頻出パターンをプロトコル動作・ネットワーク設計・障害解析・セキュリティの4カテゴリで整理。午後Iの配点が高いポイントを集中解説します。
ネットワークスペシャリスト試験 出題傾向の最新分析|2024〜2025年で増えた論点と捨て論点
ネットワークスペシャリスト試験の直近2年の出題傾向を分析し、増加している新論点・減少している論点・捨てて良い論点を整理。学習計画の優先度付けに活用できます。
ネットワークスペシャリスト試験 過去問の解き方完全ガイド|AI解説で時短する5ステップ
ネットワークスペシャリスト試験の過去問を効率的に回すための5ステップを紹介。AIコパイロットを使った時短解説の取り方、復習タイミング、選択肢分析の手順までまとめました。