Я просто не могу понять, как это будет работать.
Вопрос:
Для последовательного файла, содержащего не более четырех миллиардов 32-битных целых чисел в случайном порядке, найдите 32-битное целое число, которого нет в файле (и должно быть хотя бы одно отсутствующее)
Ответ:
полезно рассматривать этот двоичный поиск с точки зрения 32 битов, которые представляют каждое целое число. На первом проходе алгоритма мы читаем (самое большее) четыре миллиарда входных целых чисел и записываем целые числа с начальным нулевым битом в один последовательный файл, а с одним ведущим битом - в другой файл.
Один из этих файлов содержит at самое большее два миллиарда целых чисел, поэтому в следующий раз мы используем этот файл в качестве текущего ввода и повторим процесс проверки, но на этот раз со вторым битом.
Итак, снова и снова разбивая файл (двоичный поиск), как это на самом деле приведет к меня к отсутствующему 32-битному целому числу?