随着学习的不断深入和对DFS,BFS的使用熟练,对这两种算法的思路有了更清晰的认识,现在使用这个模板感觉更灵活一些。
DFS
void dfs(状态A)
{
if(A不合法)
return;
if(A为目标状态)
输出或记录路径
if(A不为目标状态)
dfs(A+Δ )
}
BFS
q.push(head);
while(!q.empty())
{
temp=q.front();
q.pop();
if(tempÎ为目标状态)
输出或记录
if(temp不合法 )
continue;
if(temp合法)
q.push(temp+¦Δ );
}