【发布时间】:2014-11-27 06:24:28
【问题描述】:
假设我们有“n”个对象和一个子例程,它接受两个输入并判断它们是否相等(例如,如果它们相等,它可以将输出作为 1)。
我需要想出一个算法来调用上述函数 O(n log n) 次,并确定输入是否有超过“n/2”个彼此等价的项目。
【问题讨论】:
-
O(n log n)通常暗示以某种方式进行排序。子程序真的只适用于等于还是比较两者,所以你可以用它来排序? -
有一个解决方案需要 O(n) 比较。
标签: algorithm recursion divide-and-conquer