其他 这里总结一些有趣的“小”算法。 最少比较次数找到第二大数 给定数组包含 个不同的数,简单起见, 是 2 的幂次。如何能够最多比较 得到第二大数? 构建一个败者树,类似于世界杯决赛圈,两两一组,赢的晋级,然后再两两一组比较,最终有一个胜利者。这个胜利者就是最大的数,这里需要 次比较。 在整个比赛过程中,第二大的数字一定是被最大的数字击败了,最大数共计击败了 个数,从这里面找到最大的数,就是第二大的数字,这里需要 次比较。 共计需要比较 次比较。