在图上寻找路径

简单来说,就是从起始点除法,每走过一个点就标记一个点,发现走到尽头的时候就回退,称为深搜。

判断从V出发是否能走到终点

定义一个函数,判断是不是你想要的终点,如果是的话,就直接结束,不是的话,就走过去并标记,对于他相邻的节点,如果是重点的话就结束,不是的话就继续。

从这往下内容主要出自北大郭炜,本人学习作为笔记
bool Dfs(V) { if( V 为终点) return true; if( V 为旧点) return false; 将V标记为旧点;
对和V相邻的每个节点U{ if( Dfs(U) == true) return true; } return false; } int main() {
将所有点都标记为新点; 起点 = 1 终点 = 8 cout << Dfs(起点); }
如果需要记录路径的话:加上path[depth];
Node path[MAX_LEN]; //MAX_LEN取节点总数即可 int depth; bool Dfs(V) { if( V为终点){ path[
depth] = V; return true; } if( V 为旧点) return false; 将V标记为旧点; path[depth]=V; ++
depth; 1516 对和V相邻的每个节点U { if( Dfs(U) == true) return true; } --depth; return
false; }
图的表示方法

用一个二维数组G存放图,G[i][j]表示节点i和节点j之
间边的情况(如有无边,边方向,权值大小等)

技术
©2019-2020 Toolsou All rights reserved,
基于神经网络的车辆牌照字符识别技术Java基础(三) String深度解析 dedecms网站被黑 劫持到其他网站如何解决精准手机号抓取,运营商大数据利用梆梆加固逻辑漏洞取巧脱壳QT 删除目录及文件Java小明A+B苹果不送充填器耳机真为环保?可能还是为了赚钱吧在Pytorch上使用summaryC#中字典的排序方法