v5 v1 v2 v3 v4 3 1 4 2 4 3 2 0 2 1 0 1 01234vertex firstedgeadjvex next顶点表顶点表边表边表V3V1V4V5V2G1void DFS1(AdjGraph*G,int i)/以以vi为出发点时对邻接表表示的图为出发点时对邻接表表示的图G进行进行深度优先深度优先深度优先深度优先搜索搜索 EdgeNode*p;coutadjvex if(!visited padjvex )/若若vj尚未访问尚未访问 DFS1(G,padjvex);/则以则以vj为出发点先深搜索为出发点先深搜索 p=pnext;/DFS1void DFS2(MTGraph*G,int i)/以以vi为出发点对矩阵为出发点对矩阵(0,1矩阵矩阵)表示的图表示的图G进行深度优先搜索进行深度优先搜索 int j;coutGvexlisti;/访问定点访问定点vi visitedi=TRUE;/标记标记vi已访问已访问 dfni=count;/对对vi进行编号进行编号 count+;/下一个顶点的编号下一个顶点的编号 for(j=0;jGn;j+)/依次搜索依次