总结伪代码:

void DFS(u){
vis[u]=true;//设置u已经被访问
for(从u出发能到达的所有顶点v){//枚举从u出发可以到达的所有顶点v
if(vis[v]==false){//若v未被访问
DFS(v);//递归访问v
}
}
}

void DFSTrave(G){//遍历图
for(G的所有顶点u){//对G的所有顶点u
if(vis[u]==false){//如果u未被访问
DFS(u);
}
}
}

1.领接矩阵法 (领接矩阵只适用于顶点数目不太大(一般不超过1000)的题目)