RSS DEV コミュニティ

ディスク・フラグメント化

著者は、Advent of Code 2024 Day 9 の課題に取り組んでおり、これには 3 つのフェーズがある。最初のフェーズでは、リストとしてメモリを表現し、値を末尾から先頭に移動し、チェックサムを計算する必要がある。著者は、このフェーズを解決するためのアルゴリズムを開発しており、ループを使用してディスクの表現を作成し、次に値を移動する。アルゴリズムは、空のスペースをチェックし、特定の数の連続した空のスペースを見つけたときに停止する。著者はまた、最初の空のセルまでのすべての値を抽出し、それぞれの値とそのインデックスの積を合計することで、チェックサムを計算した。パート 2 の場合、著者は、ファイル ブロックと空のセルのサイズを追跡し、ファイル ブロックを空のスペースに移動する、新しい戦略を開発した。著者はまた、断片化プロセスを視覚化するためのディスク プリンターをコード化した。最終的なステップでは、ダブル リデュース メソッドを使用して新しいチェックサムを計算する。著者は、課題の両方のパートを成功裏に解決し、Day 10 に進んでいる。
favicon
dev.to
Disk Fragmenter
Create attached notes ...