跳到主要内容

递归 & 分治

参考资料

递归

递归(Recursion)在数学和计算机科学中是指在函数的定义中使用函数自身的方法,在计算机科学中还额外指一种通过重复将问题分解为同类的子问题而解决问题的方法。

分治

分治(Divide and Conquer)字面上的解释是「分而治之」,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。

递归是一种编程技巧,一种解决问题的思维方式;分治算法很大程度上是基于递归的,解决更具体问题的算法思想。

例题

用 L 字形的毯子覆盖 2k×2k2^k\times2^k 的迷宫,迷宫有一个空格。