无向图的深度优先遍历的实现,无向图用邻接表表示无向图的表示:邻接矩阵和邻接表。 程序使用的示例图为: 实现要点: 每个节点有三种状态-1,0,1,分别表示未发现,已经发现,已经处理。 代码如下:v
无向图的深度优先遍历的实现,无向图用邻接表表示无向图的表示:邻接矩阵和邻接表。
程序使用的示例图为:
实现要点:
每个节点有三种状态-1,0,1,分别表示未发现,已经发现,已经处理。
代码如下:<喎?https: www.2cto.com/kf/ware/vc/" alt="无向图 深度优先遍历 c语言实现">vcd4ncjxwcmugy2xhc3m9″brush:java;”> #include #include #include "graph_represent.h" //后序遍历图 void dfs(struct vnode** adj,int v,int* color){ struct vnode* w; color[v] = 0; printf("%d ",v);/**在这里前序处理节点**/ w = adj[v]; while(w != null){ if(color[w->value]==-1){ dfs(adj,w->value,color); } w = w->next; } /**这里后序处理节点**/ color[v] = 1; } //参数:邻接表,节点个数,开始节点, void dfs_wraper(struct vnode** adj,int n,int s){ int* color = (int*)malloc(sizeof(int)*n); int i; for(i=0;i
这里从2开始深度遍历,结果为:2 0 1 3 5 4 6
喎?https:>
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/607640.html