目录:
一、图的两种建立方法——邻接表、邻接矩阵
二、图的两种遍历方式——DFS、BFS
三、最短路径——Dijkstra、Floyd
一、图的两种建立方法
- 邻接表
vector<node>a[n]
struct Node{
int v,w;
Node(int m,int n) : v(m),w(n) {} //构造函数
} - 邻接矩阵
G[][]
二、图的两种遍历方式
- DFS
DFS(u){
vis[u] = true;
for(u的所有邻接结点v)
if(vis[v] == false)
DFS(v);
}
DFSTrave(G){
for(G的所有结点u)
if(vis[u] == false)
DFS(u);
} - BFS
BFS(u){
queue q;
inq[u] = true;
while(q非空){
取q的队首元素u进行访问;
for(u的所有邻接结点)
if(inq[v] == false){
将v入队;
inq[v] = true;(访问)