码迷,mamicode.com
首页 > 其他好文 > 详细

DFS分别用邻接矩阵和邻接表访问

时间:2015-02-07 17:34:41      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:

之前写的那份是用邻接矩阵访问的,最近在复习数据结构,决定把邻接表的也写上来


邻接矩阵的看这里  : http://blog.csdn.net/hhooong/article/details/41761621

邻接表 :(写关键部分的算法) 

void DFS (Graph &G, int v ,bool visit[]) {
	cout << G.getValue(v) << endl ; 
	visit[v] = true ; 
	int value = G.getFirstNeig(v) ; // 找到顶点v的第一个邻接顶点
	while (value != -1) { //在getFirstNeig函数中,value = -1则代表没有邻接顶点了
		if (visit [value ] == false ) //未访问
			DFS(G , value , visit) ;

	value  = G.getNextNeig(v , value) ; //假设v有出度不止为1 ,则有多个邻接顶点,这个函数是取下一个的领结顶点 
	
}
}

也算是解决了自己的一个误区

DFS分别用邻接矩阵和邻接表访问

标签:

原文地址:http://blog.csdn.net/hhooong/article/details/43604089

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!