矩阵中的路径
给定一个矩阵,矩阵的每一个元素是一个字母。给定一个单词,判断能否由相邻字母构成。
涉及知识点
深度优先搜索(DFS):从根节点开始,沿着一条树枝走到底,若没有完成搜索目标,则返回到上一个节点,从另一条路走到底。可以使用递归实现。
递推工作
1.标记已经搜索到的元素。
2.搜索下一个单元格。
3.还原当前的矩阵元素。
终止条件
1.找到搜索目标
2.可以确定无法找到搜索目标,或是已到边界,或是已经搜索过。
具体实现
1.遍历每个起点
2.判断是否到终止条件
3.扩散
剪枝
当某一条支路不可能搜索到目标时,立即返回到上一个节点,减少搜索量。
// DFS_matrix.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//