图的深度优先搜索算法DFS
来源:互联网 发布:信鸽软件鑫 编辑:程序博客网 时间:2024/06/02 00:05
对于图的搜索算法做个小的总结:深度优先搜索算法(DFS)
图遍历必须处理两个棘手的情况。首先从起点出发可能无法达到所有的顶点,比如非强连通有向图和非连通无向图,这也是很容易理解的。
其次,图可能会有回路,搜索算法不合适,可能会陷入僵局,这就尴尬了。所以可以为每一个节点设置一个标记位(mark bit)。
算法描述:
1.访问顶点v,并对v打上已访问标记
2.依次从v的未访问的邻接点开始访问,深度搜索图G
void DFS(Graph g,int v,bool *visited){ ENode *w; visited[v]=true; cout<<v; for(w=g.A[v];w;w=w->NextArc)//只要w不为空,一直往下循环 { if(!visited[w->NextArc]) DFS(g,w->AdjVex,visited)//下一个邻接点存在,往下深度搜索 }}void Traversal_DFS(Graph g){ bool visited[MaxSize]; int n=g.Vertices;//g.Vertices代表图的结点数目 for(int i=0;i<n;i++) visited[i]=false; for(int i=0;i<n;i++) if(!visited[i])//visited[]数组是一个标记数组,未遍历的标记为false DFS(g,i,visited);}
阅读全文
0 0
- 图的深度优先搜索算法DFS
- 图的深度优先搜索算法DFS
- 图的深度优先搜索算法DFS
- 【深度优先搜索(DFS)算法】数据结构之图的深度优先搜索算法DFS初试
- 图的深度(DFS)/广度优先搜索算法(BFS)/Dijkstra
- 【算法导论】图的深度优先搜索遍历(DFS)
- 图的深度优先搜索算法并生成DFS树
- 深度优先搜索(DFS)算法
- 算法 DFS深度优先搜索
- DFS(深度优先搜索算法)
- 深度优先搜索(DFS)算法
- DFS深度优先搜索算法
- 深度优先搜索(DFS) 算法
- DFS深度优先搜索算法
- 深度优先搜索DFS算法
- 深度优先DFS搜索算法
- 图的遍历(搜索)算法(深度优先算法DFS和广度优先算法BFS)
- 图的遍历(搜索)算法(深度优先算法DFS和广度优先算法BFS)
- 2017年薪酬最高的15门编程语言 GO夺冠
- cs231n 笔记 --- 训练配置细节
- ROC和AUC介绍以及如何计算AUC
- 经典DFS PAT 1103
- ROC曲线MATLAB实现以及AUC
- 图的深度优先搜索算法DFS
- 理解 指针数组 数组指针 函数指针 函数指针数组 指向函数指针数组的指针
- 索引绘图
- 射电让肢体发育在生,生物再发育技术,这是不单纯的3d打印。
- Mac里的airdrop传输文件
- 程序人生
- hadoop2配置文件详解
- prim算法(未优化版)
- 根据开始日期和结束日期获取所有日期的方法