这是我想要解决的问题:
提出以下分而治之算法来寻找同时最大值和最小值:
如果有一个项目,则为最大值和最小值
如果有两个项目,那么比较它们,在一个比较中,您可以找到最大值和最小值。
否则,将输入分成两半,尽可能均匀地划分(如果N为奇数,则两半中的一半将具有比另一半更多的元素)。
(b)假设N的形式为3 + 2k。此算法使用的确切比较数是多少?
对于这一点(b),我试图找到一个复发方程来解决,但它没有用。 我试过了
T(n)= T(n/2+1) + T(n/2) + 3
其中三是我尝试3输入时的最低成本。 有什么帮助吗?
答案 0 :(得分:3)
你的递推方程不应该有n = 3特殊情况的术语。算法给你这些事实:
这应该是你需要的所有答案。