每周进度条

周数 专业 时间 其他方面学习 总结  
12 图的遍历 4小时 html 还是有些不懂,但是还是学有学成,不懂就去问问!  

//

深度遍历

void dfsal(graph *g,int i){ 

int w;//linknode *p; 

// p=(struct linknode*)malloc(sizeof(struct linknode))  

// 

for(int j=0;j<g->n;j++) visited[j]=0; 

printf("%5c",g->vertices[i].data); 

visited[i]=1; 

for(linknode *p=g->vertices[i].first;p;p=p->next){ 

w=p->adjvecx; 

if(visited[w]==0) 

dfsal(g,w); 

}

/

广度遍历

void bfsal(graph *g,int i){ 

queue Q;int w,e; 

int v; 

linknode *p; 

for(int j=0;j<g->n;j++) visited[j]=0; 

visited[i]=1; 

printf("%5c",g->vertices[i].data); 

e=i; 

initqueue(Q);enqueue(Q,e); 

// 

n=isEmpty(Q); 

while(isEmpty(Q)==1){ 

v=dequeue(Q); 

p=g->vertices[v].first; 

// 

if(p!=NULL){ 

// for( linknode *p=g->vertices[v].first;p=NULL;p=p->next){ 

//

此上面的循环此处不可用否则只输出第一个数

while(p!=NULL){ 

w=p->adjvecx; 

if(visited[w]==0){ 

//printf("%c",p->adjvecx); 

printf("%5c",g->vertices[w].data); 

visited[w]=1; enqueue(Q,w); 

 

 

 

 

 

posted @ 2016-05-19 20:35  Kg=cM  阅读(147)  评论(1编辑  收藏  举报