为图建立邻接表深度与广度遍历.docVIP

  • 1
  • 0
  • 约2.44千字
  • 约 4页
  • 2017-11-20 发布于北京
  • 举报
为图建立邻接表深度与广度遍历

为一个图建立一个邻接表、编写深度遍历和广度遍历算法 #include stdio.h #includestdlib.h #define MaxNode 40 #define M 20 typedef struct ArcNode { int adjvex; struct ArcNode *nextarc; }ArcNode; typedef struct { int vertex; struct ArcNode *firstarc; }vernode; typedef vernode adjlist[MaxNode]; int queue[MaxNode]; //在遍历过程中是从右边开始 void dfs(adjlist g,int k,int visited[]) //从顶点k出发,深度优先搜索 { ArcNode *p; int w; visited[k]=1; printf(%d-,g[k].vertex); p=g[k].firstarc; while(p!=NULL) { w=p-adjvex; if(visited[w]==0) dfs(g,w,visited); p=p-nextarc; } } void bfs(adjlist g,int k,int visited[]) //从顶点k出发,广度优先

文档评论(0)

1亿VIP精品文档

相关文档