我知道找到N键的MINIMUM和MAXIMUM的最佳比较数是
3N / 2
但是如果n是2的整数次幂怎么办?然后会有多少比较?
更多细节:
例如,图形程序可能需要缩放一组(x,y) 数据适合矩形显示屏或其他图形输出设备。为此,程序必须首先确定每个坐标的最小值和最大值。在这一点上,如何使用theta(n)比较确定n个元素的最小值和最大值应该是显而易见的,这是渐近最优的:我们只是单独找到最小值和最大值,每个使用n -1比较,总共2n -2次比较。在这种情况下,我们可以在3 [n / 2]比较中找到最小值和最大值。但是如果n是2的幂整数怎么办?然后找到n个键的MIN和MAX的比较次数是多少?