划分和征服和递归

Tim*_*Tim 11 recursion divide-and-conquer

我想知道分而治之的技术总是把问题分成同类型的子问题吗?同一类型,我的意思是可以使用递归函数实现它.可以通过递归来实现分而治之吗?

谢谢!

dan*_*ben 15

"永远"是一个可怕的词,但我想不出一个你不能使用递归的分而治之的情况.根据定义,分而治之创造了与初始问题相同形式的子问题 - 这些子问题不断被分解,直到达到某种基本情况,并且分割数量与输入的大小相关.递归是这种问题的自然选择.

有关更多信息,请参阅Wikipedia文章.

  • 并且递归问题总是可以使用迭代方法来编写,反之亦然,因此不需要仅使用递归方法来编写分治法,并且尾递归与迭代问题解决方法一样有效。 (2认同)

Dea*_*vey 6

根据定义,分而治之算法可以通过递归来解决.所以答案是肯定的.