深度优先搜索属于图算法的一种,英文缩写为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
分析:具体过程如图
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有