随着学习的不断深入和对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+¦Δ ); }