所有分而治之的方法都使用递归函数或不一定?

时间:2015-09-22 07:09:55

标签: algorithm recursion divide-and-conquer

所有使用分而治之法的算法是否都使用递归函数?或者不一定?

1 个答案:

答案 0 :(得分:0)

二元搜索是D& C范例的应用。 (如下所示:分成两半并继续进入可能包含密钥的一半。)

它可以递归地或非递归地实现。

当你需要同时保持"一半时,递归很方便。拆分并将它们排队等待以后处理。常见的情况称为尾递归,当您只对其中一半进行排队并立即处理另一半时。在二进制搜索中,您只需删除其中一半。

从广义上讲,D& C是所有算法的父亲,当被称为"将问题分解为更容易的同类子问题"。该定义还包含迭代解决方案,通常在没有递归的情况下实现。