BackTracking回溯

来源:互联网 发布:网络机房建设 编辑:程序博客网 时间:2024/05/29 13:45

回溯法是一个比较强大的方法。在我做题的时候,感觉主要是用在查找子集问题上。
通过分析,可以将问题转换为通过子问题来确定当前解。换句话说,f(i)的状态可以由f(i-1)来得出。说到这里感觉有点像动态规划。因此有的题可以用回溯,也能用DP。
感觉DP和回溯还是不同的。回溯在发现一条路走不通的时候,有回退操作。DP好像没有发现回退操作,只是在不断求解子问题。另外,DP问题感觉主要是求解一个最优值。虽然回溯也能求解最优解,但是好像主要还是求解可行的解,把所有符合条件的解法都写出来。应该说,回溯是比较一般的DP题的解法,在实现上以DFS实现。
回溯是比较简单粗暴的,而DP一般是回溯的优化版本。如果回溯超时的话,就可以考虑一下用DP。

0 0
原创粉丝点击