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

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


邻接矩阵的看这里  : 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 ,则有多个邻接顶点,这个函数是取下一个的领结顶点 
	
}
}

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值