专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅
这里的图的深度优先算法利用了栈来实现。 图的深度遍历原则: 1 如果有可能,访问一个领接的未访问的节点,标记它,并把它放入栈中。 2 当不能执行规则 1 时,如果栈不为空,则从栈中弹出一个元素。 3 如果不能执行规则 1 和规则 2 时,则完成了遍历。 代码中的图使用的是Graph 图-邻接矩阵法 来表示,其他的表示法请见:Graph 图-邻接表法 代码中的Stack为辅助结构,用来记载访问过的节点。栈的详细描述可以见:ArrayStack 栈 ,LinkedStack 栈 。 Vertex表示图中的节点,其中包含访问,是否访问,清除访问标志的方法。 Graph [阅读全文] [PDF]
这段代码好像不怎么常见,所以发上来给大家研究一下看看。 #include<stdio.h> #include<malloc.h> #defineINFINITY32767 #defineMAX_VEX20//最大顶点个数 bool*visited;//访问标志数组 //图的邻接矩阵存储结构 typedefstruct{ char*vexs;//顶点向量 intarcs[MAX_VEX][MAX_VEX];//邻接矩阵 intvexnum,arcnum;//图的当前顶点数和弧数 }Graph; //图G中查找元素c的位置 intL [阅读全文] [PDF]
1 共2条 分1页