1.1 算法的目标
1.2 算法的思想
沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所在边都己被探寻过或者在搜寻时结点不满足条件,搜索将回溯到发现节点v的那条边的起始节点。整个进程反复进行直到所有节点都被访问为止。
深度遍历,利用栈结构来实现


step1:首先创建一个栈结构stack,存储当前生成的节点1;
step2:然后访问节点1的下一个节点2,加入栈,访问节点2的下一个节点3,加入栈……,然后访问节点4,加入栈,然后访问节点4的下一个节点5,加入栈……,直至节点v所在的所有节点都已经被探寻过或者不满足条件,回溯到发现节点起始节点4。
step3:如果此点没有尚未遍历的邻接点,则将此点从stack中弹出,重复步骤step2:

step4:遍历完整个树,将栈中的元素依次弹出,DFS遍历完成。
