応用情報技術者 2019年 春期 午前2 問05
問題文
要求に応じて可変量のメモリを割り当てるメモリ管理方式がある。要求量以上の大きさをもつ空き領域のうちで最小のものを割り当てる最適適合(best-fit)アルゴリズムを用いる場合、空き領域を管理するためのデータ構造として、メモリ割当て時の平均処理時間が最も短いものはどれか。
選択肢
ア:空き領域のアドレスをキーとする2分探索木
イ:空き領域の大きさが小さい順の片方向連結リスト
ウ:空き領域の大きさをキーとする2分探索木(正解)
エ:アドレスに対応したビットマップ
要求に応じて可変量のメモリを割り当てる最適適合アルゴリズム【午前2 解説】
要点まとめ
- 結論:最適適合(best-fit)アルゴリズムでは空き領域の大きさをキーにした2分探索木が平均処理時間を最短にできる。
- 根拠:最適適合は要求サイズ以上の最小空き領域を探すため、大きさ順に高速検索可能なデータ構造が適している。
- 差がつくポイント:単純なリストやアドレス順管理では探索に時間がかかるが、2分探索木ならで最適領域を特定できる点が重要。
正解の理由
選択肢ウの「空き領域の大きさをキーとする2分探索木」は、要求サイズ以上の最小の空き領域を効率的に検索可能です。2分探索木は大きさをキーにしているため、探索時に要求サイズ以上の最小ノードをで見つけられ、メモリ割当ての平均処理時間を短縮します。これに対し、他の選択肢は探索効率や管理の観点で劣ります。
よくある誤解
空き領域のアドレス順管理はメモリの連続性把握に便利ですが、最適適合の探索効率向上には不向きです。ビットマップは空き・使用の判別は速いが、最適適合の最小空き領域探索には適しません。
解法ステップ
- 最適適合アルゴリズムの特徴を理解する(要求サイズ以上の最小空き領域を割り当てる)。
- 空き領域の管理方法を考える(大きさ順かアドレス順か)。
- 探索効率を考慮し、要求サイズ以上の最小空き領域を高速に見つけられるデータ構造を選ぶ。
- 2分探索木はで探索可能なため、最適適合に最適。
- 選択肢を比較し、空き領域の大きさをキーにした2分探索木を選択。
選択肢別の誤答解説
- ア: 空き領域のアドレスをキーにした2分探索木は、アドレス順の管理には有効だが、要求サイズ以上の最小空き領域の探索には不向き。
- イ: 大きさ順の片方向連結リストは探索にかかり、効率が悪い。
- ウ: 空き領域の大きさをキーとする2分探索木は最適適合の探索に最適で正解。
- エ: ビットマップは空き・使用の判別は速いが、最適適合の最小空き領域探索には適さない。
補足コラム
最適適合アルゴリズムはメモリの断片化を抑える効果がありますが、探索コストが高いのが課題です。2分探索木を用いることで探索時間をに抑え、実用的な性能を実現します。なお、他のアルゴリズムとしては「最初適合(first-fit)」や「最悪適合(worst-fit)」があり、それぞれ管理方法や性能特性が異なります。
FAQ
Q: なぜアドレス順の管理は最適適合に不向きですか?
A: 最適適合は要求サイズ以上の最小空き領域を探すため、大きさ順に管理しないと効率的な探索ができません。アドレス順では探索に時間がかかります。
A: 最適適合は要求サイズ以上の最小空き領域を探すため、大きさ順に管理しないと効率的な探索ができません。アドレス順では探索に時間がかかります。
Q: ビットマップはどんな場合に有効ですか?
A: ビットマップは空き・使用の判別が高速で、固定サイズの割当てや小規模メモリ管理に適していますが、可変長割当ての最適適合には不向きです。
A: ビットマップは空き・使用の判別が高速で、固定サイズの割当てや小規模メモリ管理に適していますが、可変長割当ての最適適合には不向きです。
関連キーワード: メモリ管理、最適適合、2分探索木、メモリ割当て、データ構造、アルゴリズム

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

