深度优先搜索(DFS)

深度优先搜索属于图算法的一种,英文缩写为DFS即Depth First Search.其过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次.


算法:

1、构造一个有根构成的单元素栈S;

2、If Top(S) 是目标节点 Then 停止;

3、Pop(S), 把Top(S)的所有子节点压入栈顶;

4、If S空 Then 失败 Else goto 2.


举例:

求解子集和问题

------输入:S = {7, 5, 1, 2, 10}

------输出:是否存在S'含于S,使得Sum(S') = 9


分析:具体过程如图



发布了97 篇原创文章 · 获赞 41 · 访问量 11万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览