たとえば、[0,1,2, 5,6,7, 9,10,11] のような整数の配列があるとします。理想的な世界では、それらは並べ替えられますが、アルゴリズムが並べ替えられていない状態で機能する場合は、さらに優れています。
このグループにいくつの「フラグメント」があるかを知る必要があります。配列がファイルのバイト配列を構成していると想像してください。このファイルはどの程度断片化されていますか?
上記の例では、3 つのグループ/フラグメントをカウントします。
私の目標は、ディスク上の「ファイル」の総数、次に「フラグメント」の総数を合計してから、断片化を計算することです (1 - (files / fragments)と思います。10 個のファイル、10 個の断片 = 0% の断片化 - ただし、各ファイルが20 個のフラグメントを作る 2 つに分割され、50% のフラグメント化が発生します)。
したがって、私が探しているアルゴリズムでは、int の配列を調べて、連続する数値グループがいくつあるかを計算する必要があります。
何か案は?