デフラグ問題

  • 自力で考えてみるメモ。
    • 1ファイルを構成するクラスタをシーケンシャルに並べるための最小移動回数を求める。利用できるメモリは2クラスタ分で、[ディスク→メモリ→ディスク] の操作を1回と数える。
  1. 1ファイルしかディスク上に存在しない場合。
    1. 必ず移動しなければならないクラスタ数を数える
    2. それ以外のクラスタについて、正しい配置位置にあるクラスタ列で最長のものを求める
    3. 上記に当てはまらないクラスタ数を求める
    4. それらの合計が最小移動回数
  2. nファイルがディスク上に存在する場合。
    1. 詰まった。数学とか集合論とか向いてないなぁ。