图有2 个基本操作:FirstAdjVex(G,v)和NextAdjVex(G,v,w)。FirstAdjVex(G,v)返回
图G 中顶点v 的第1 个邻接顶点(在图中的位置)。在邻接矩阵存储结构中,返回邻接矩阵
图G 中顶点v 的第1 个邻接顶点(在图中的位置)。在邻接矩阵存储结构中,返回邻接矩阵
G.arcs.adj 中v 所对应的行的第1 个值为1(图)或权值(网)的顶点(在图中的位置)。以f7-
1.txt 所表示的图G 为例,FirstAdjVex(G,a)(在bo7-1.cpp 中)返回b 在图中的位置1;
FirstAdjVex(G,e)返回a 在图中的位置0。NextAdjVex(G,v,w)比FirstAdjVex(G,v)多了1
个形参w,它返回图G 中顶点v 的所有邻接顶点中排在邻接顶点w 后面的那个邻接顶点
(在图中的位置)。在邻接矩阵存储结构中,返回邻接矩阵G.arcs.adj 中v 所对应的行的w
那列后面的第1 个值为1(图)或权值(网)的顶点(在图中的位置)。以f7-1.txt 所表示的图
G 为例,NextAdjVex(G,a,c)(在bo7-1.cpp 中)返回第1 行(a 行)排在第3 列(c 列)后面的
第1 个值为1 的顶点e 在图中的位置4。由这样的定义,我们可以推知,algo7-10.cpp 调
用算法7.4 和7.5 对图G 深度优先搜索的过程:首先访问G 的第1 个顶点a;接下来访问
a 的第1 个邻接顶点b;再准备访问b 的第1 个邻接顶点a,但a 已被访问过,则不再访问
a,转而访问b 排在a 后的邻接顶点d;再准备访问d 的第1 个邻接顶点b,