我似乎无法理解这将如何工作。
问题:
给定一个包含最多 40 亿个随机顺序的 32 位整数的顺序文件,找到一个不在文件中的 32 位整数(并且必须至少缺少一个)
回答:
根据表示每个整数的 32 位来查看这种二分搜索会很有帮助。在算法的第一遍中,我们读取(最多)40 亿个输入整数,并将具有前导零位的整数写入一个顺序文件,将前导一位的整数写入另一个文件。
其中一个文件最多包含 20 亿个整数,因此我们接下来使用该文件作为当前输入并重复探测过程,但这次是在第二位。
因此,通过一遍又一遍地拆分文件(二进制搜索),这实际上会如何导致我找到丢失的 32 位整数?