如何根据知道它是一个合并排序搜索来弄清楚如何确定列表的长度?
答案 0 :(得分:2)
不是数学证明,而是简单的推理;
通过 1 比较,您可以比较 1 项目。不难看出。
使用 2 比较,您可以使用第一个将项目拆分为一半,第二个用于比较任意一半的项目。这使得1 + 1 + 1 = 3 项目具有可比性。
通过 3 与相同推理的比较,您可以获得3 + 1 + 3 = 7 项目。
概括而言,如果您可以将 x 项目与 n 比较进行比较,则可以将 x + 1 + x 项目与进行比较n + 1 比较。这使得该系列;
1, 3, 7, 15, 31, 63, 127, 255, 511...
换句话说,您可以将255个项目与8个比较进行比较。
255 = 2**8-1