逆拓扑排序(DFS算法)

void DFSTraverse(Graph G) {   //对图G进行深度优先遍历
	for (v = 0; v < G.vexnum; ++v)
		visited[v] = FALSE;   //初始化已访问标记数据
	for (v = 0; v < G.vexnum; ++v)  //本代码中是从v=0开始遍历
		if (!visited[v])
			DFS(G, v);
}
void DFS(Graph G, int v) {  //从顶点v出发,深度优先遍历图G
	visited[v] = TRUE;     //设已访问标记
	for (w = FirstNeighbor(G, v); W >= 0; w = NextNeighor(G, v, W))
		if (!visited[w]) {  //w为u的尚未访问的邻接顶点
				DFS(G, W);
		} //if
	print(v);   //输出顶点
}
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值