深度优先搜寻(DFS) C语言实现

伪代码

《深度优先搜寻(DFS) C语言实现》《深度优先搜寻(DFS) C语言实现》

#define Black 2
#define Gray 1
#define White 0
#define Infinite -1
#define NIL -1

struct map{
	int d;
	int f;
	int color;
	int parent;
} vertix[100];
int time;

void DSF(int a[100][100],int n){
	int i;
	for(i = 0;i<n;i++){
		vertix[i].color = White;
		vertix[i].parent = NIL;
	}
	time = 0;
	for(i = 0;i<n;i++)
		if(vertix[i] == White)
			DSFvisit(a,n,i);
}

void DSFvisit(int a[100][100],int n,int num){
	int i;
	vertix[num] = Gray;
	time++;
	vertix[num].d = time;
	for(i = 0;i<n;i++)
		if(a[num][i])
			if(vertix[i].color == White){
				vertix[i].parent = num;
				DSFvisit(a,n,i);
			}
	time++;
	vertix[num].f = time;
	vertix[num].color = Black;
}
    原文作者:DFS
    原文地址: https://blog.csdn.net/andyyang0212/article/details/40215377
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞