递归与分治之间的关系

其实对于递归与分治之间,经常有很多算法初学者弄不明白这两者的关系。

其实很简单,你就把递归看做一个特殊循环好了,而分治就是解决这个问题的途径。

递归与分治两者之间,压根就没有一毛钱相关,你完全可以把递归改成一个循环,再用分治法求解即可。

就例如经典的汉诺塔问题:

递归就是进行一个重复的循环while语句,而分治则是把这个问题分解成无数个重复移动的动作的思维方法。

其实对于这个问题,界限也并非如此清晰,你可以想象,如果我让一万个1相加

采用循环,直接循环加一万次

采用递归,递归循环一万次

采用分治,不停的划分(这里划分既可以使用递归也可以使用循环),两两相加。

猜你喜欢

转载自www.cnblogs.com/gambler/p/9232148.html
今日推荐