终于知道递归解决什么样的问题了,指数级问题(或者说无法简单的用for循环就能完成的问题)。想通了为啥图的优先和广度优先搜索的时间复杂度是o(n+e)了,而且一分不差。

递归解决时间复杂度为指数级的问题。今天在看幂集的算法时,试图用for循环来尝试进行非递归的算法,现在发现不可能,太过繁琐,而如果用递归解法,轻而易举。

再比如树的搜索,当用简单的for循环无法进行下去的时候可考虑用递归。补充:今天下午想通了为啥图的优先和广度优先搜索的时间复杂度是o(n+e)了,n是图的顶点个数,e代表邻接表表示法边的个数。当时认为n和指数没有关系,现在发现还真有关系,指数的个数就是顶点个数,查找每个顶点需要查找的边的个数的总和就是e,太强大了,时间复杂度一分不差就是o(n+e).

posted @ 2011-03-29 11:09  thinking and coding  阅读(2618)  评论(0编辑  收藏  举报