これがどのように機能するのか理解できないようです。
質問:
最大 40 億の 32 ビット整数をランダムな順序で含むシーケンシャル ファイルが与えられた場合、ファイルにない 32 ビット整数を見つけます (少なくとも 1 つ欠落している必要があります)。
答え:
この二分探索を、各整数を表す 32 ビットで見ると役に立ちます。アルゴリズムの最初のパスでは、(最大で) 40 億個の入力整数を読み取り、先頭の 0 ビットを持つものを 1 つの順次ファイルに書き込み、先頭の 1 ビットを持つものを別のファイルに書き込みます。
これらのファイルの 1 つには最大で 20 億の整数が含まれているため、次にそのファイルを現在の入力として使用し、プローブ プロセスを繰り返しますが、今回は 2 番目のビットで行います。
では、ファイルを何度も分割する (バイナリ検索) ことで、実際にどのようにして 32 ビット整数が見つからないのでしょうか?