Ajuda de pesquisa binária “Programming Pearls”

Eu simplesmente não consigo entender como isso funcionaria.

Pergunta, questão:
Dado um arquivo seqüencial que contém no máximo quatro bilhões de números inteiros de 32 bits em ordem aleatória, encontre um número inteiro de 32 bits que não esteja no arquivo (e deve haver pelo menos um ausente)

Responda:
é útil visualizar essa pesquisa binária em termos dos 32 bits que representam cada número inteiro. Na primeira passagem do algoritmo, lemos os (no máximo) quatro bilhões de números inteiros de entrada e escrevemos aqueles com um bit zero inicial em um arquivo seqüencial e aqueles com um bit inicial em outro arquivo.

Um desses arquivos contém no máximo dois bilhões de números inteiros; portanto, usamos esse arquivo como entrada atual e repetimos o processo de análise, mas desta vez no segundo bit.

Então, dividindo o arquivo repetidamente (pesquisa binária) como isso realmente me levaria ao número inteiro de 32 bits ausente?

questionAnswers(2)

yourAnswerToTheQuestion