32ビット整数がでたらめな順に入っているファイルに入っていない32ビット整数を一つ見つけてください。
Q.最大で40億個の32ビット整数がでたらめな順に入っているファイルがあるとします。このファイルに入っていない32ビット整数を一つ見つけてください。
『珠玉のプログラミングー本質を見抜いたアルゴリズムとデータ構造』 column2.1.A より
と言う問題です。
本に載っている解き方としては、
40億個の整数を最初のビットが0のものと1のものにわけて、2つのファイルに書き込んでいきます。それぞれのファイルに20億個の整数が書かれているはずです。次に、出力されたファイルで整数の個数の少ない方を新しい入力ファイルとし、今度は2番目のビットをみてこれを2つのファイルに分けます。そしてこれを次々と繰り返していくと出力させる。
と言うものです。
この方法をPythonでコード化することができません。調べ方が悪いのかこの方法でやっている人も見つけられませんでした。
Pythonでコード化する方法もしくは答えをご提示していただけないでしょうか?