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

来源:互联网 发布:博物馆软件 编辑:程序博客网 时间:2024/05/20 18:00

伪代码


#define Black 2#define Gray 1#define White 0#define Infinite -1#define NIL -1struct 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;}


0 0