数据结构:栈,用来保存由根节点到目标节点的路径
代码描述:
void DFS(Node node){
nodes.push_back(node);//入栈
if(node=目标节点)
then//找到目标,结束
for (itr=node.sons.begin();itr!=node.sons.end();itr++)//对节点itr的所有子节点继续深度优先
DFS(*itr);
nodes.pop_back();//出栈
}
迭代加深搜索利用了基本的深度优先搜索方法,在固定深度上重复深度优先搜索;增加深度,再重复深度优先搜索,直至找到目标节点。