《啊哈!灵机一动》-乒乓问题
科普小知识2022-08-18 11:35:58
...
有多少人空着
如果你直观地解决这个问题,你实际上可以画出37个人的实际竞赛表。你可以看到,不管你怎么画,总是有四个回合。回合数是参赛人数n的函数,如何计算这个数?
已知,轮数可根据以下公式确定。使用2的最小指数幂,要求它大于或等于n,减去n,差值用二进制表示。二进制表达式中1的个数是空的。在我们的例子中,我们从64(26)中减去37得到27,二进制表示是27=11011,有4个1,所以竞争中有4轮,这是一个有趣的验证来满足这个美妙的算法。
这种问题所描述的竞争叫做淘汰竞争。计算机专家得出结论,该算法通过成对比较来确定一组几个元素中的最大元素。我们看到,为了确定最大值,实际上需要进行n-1比较。计算机处理器可以比较3组、4组、5组等。
数据处理问题在计算机理论和应用中非常重要。所有的书都阐述了这个问题。你可以很容易地想到数据处理中许多实际问题的重要性。据估计,科学技术、商业和工业中用于数据处理的计算时间占计算机运行时间的1/4。