一、图的深度优先遍历(点的遍历)
还是要再强调一遍,深度优先遍历的是点,是点,是点。这是一种递归的思想,对于当前的结点,如果有邻边,而且邻边的点没有被遍历则进行深度递归。
二、算法与数据结构
1、十字链表
略,参考上一节
2、深度优先遍历算法
//==========================深度优先遍历 是对点的遍历=======================
bool visited[MAX_VERTEX_NUM];
//递归深度优先遍历
void DFS(OLGraph G, int v){
//当前结点设置已经查找过
visited[v] = true;
printf("%c", G.xlist[v].data);
//printf();
//进入到下一个结点, 如果下一个结点没有被访问过则进行 递归
ArcBox * arc = G.xlist[v].firstout;
while (arc != NULL)
{
//当前V这个结点有邻接点的情况 //进入深度递归
int w = arc->headvex;
if (visited[w] == false)
{