ACM之图论
Posted yidiandianwy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ACM之图论相关的知识,希望对你有一定的参考价值。
实验数据:
int dege[5][5] = 0, 9 ,6,-1,-1, -1, 0, 4, 5,-1, -1,-1, 0,-1, 7, 3,-1,-1, 0,-1, -1,-1,-1, 8, 0 ;
- DFS 深度优先搜索标记
利用二维矩阵,存放图的信息,例如n个结点,那么图就是n*n大小,图分为有向图和无向图,在量化为矩阵的时候,区别就是一个是不对称的,无向是对称矩阵,然后用一个长度为n的一维矩阵存放,该节点是否被访问,由于未知该图的深度有多少,所以使用递归算法,在递归过程,通过标记矩阵判断该结点是否访问,未访问则进入下一层递归
int egde[5][5];//使用顶部的数据! int pre[5] = 0 , tag=0;//存放结点被第几个访问, void dfstag(int cur, int n) pre[cur] = ++tag; //是否访问标记;第几个被访问; for (int i = 0; i < n; ++i) if (edge[cur][i]>0&&pre[i]==0) //未被访问,则进入, dfstag(i, n); int main() dfstag(0, 5); for (int i = 0; i < 5; i++) cout << " " << pre[i]; system("pause"); return 0;
- 无向图找桥
- 无向图连通度
- 最大团问题
- 欧拉路径
- Dijkstra数组实现
- Dijkstra
- BellmanFord单源最短路
以上是关于ACM之图论的主要内容,如果未能解决你的问题,请参考以下文章