算法总结深搜
Posted yun-an
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法总结深搜相关的知识,希望对你有一定的参考价值。
算法总结-深搜
由于是深度优先,后进入的结点需要先读取,因此选取堆栈实现,在栈中保存从起始结点(状态)到当前结点的路径上的所有结点。一般用递归实现。
非递归框架
DFS() 初始化栈 while (栈不为空 & 未找到目标结点) 取栈顶元素扩展,扩展出的结点放回栈顶 ......
递归框架
在深度优先搜索中,状态空间的图结构并不一定需要显式地保存下来。
type node; void DFS(int depth) for (node的每一个可行变化) 改变node DFS(depth+1) 恢复node
该做法需要一个全局数组array来存放每个走过的node,array[depth]就是进入DFS函数时需要扩展的结点。
以上是关于算法总结深搜的主要内容,如果未能解决你的问题,请参考以下文章