深度优先搜索策略遍历g的非递归算法c语言,2016考研计算机冲刺考点梳理:深度优先搜索遍历(非递归)...

ae37b9d4e27482e3260ad456e155d07b.png2016考研冲刺交流群:172491689d1bc3e431c414ceffd98c80d6f93a082.png

计算机考研专业课复习科目包括数据结构、操作系统、计算机组成原理、计算机网络四门课程。其中数据结构这一科目兼具理论与实践,要求同学们在复习过程中不仅要对教材的基本概念进行记忆,同时还要结合知识点掌握相应的实际操作知识。为帮助同学们在计算机专业课复习上卓有成效,中公考研将为同学们整理面的考点梳理,今天为大家带来的是数据结构的相关内容,请同学们适当参考,结合自身实际在面复习的基础上进行重点理解记忆。

【非递归的深度优先搜索遍历算法】

void Traver(AdjList g,vertype v)

//图g以邻接表为存储结构,算法从顶点v开始实现非递归深度优先遍历。

{ struct arc *stack[];

visited[v]=1;

printf(v); //输出顶点v

top=0;

p=g[v].firstarc;

stack[++top]=p;

while(top>0 || p!=null)

{ while (p)

if (p && visited[p->adjvex]) p=p->next;

else

{ printf(p->adjvex);

visited[p->adjvex]=1;

stack[++top]=p;

p=g[p->adjvex].firstarc;

}//else

if (top>0) {p=stack[top--]; p=p->next; }

}//while

}//算法结束。

以上算法适合连通图,若是非连通图,则再增加一个主调算法,其核心语句是

for (vi=1;vi<=n;vi++)

if(!visited[vi])

Traver(g,vi);

判断回路问题:(通常有向图的回路问题,无向图的回路比较繁琐)

冲刺的号角已经吹响,在通往梦想的道路上,你一路披荆斩棘。行百里者半于九十,黎明的曙光即将刺破暗沉的黑夜,考研人定要咬紧牙关,背水一战!中公考研特为广大学子推出2016考研冲刺集训、专业课一对一、精品网课、vip1对1、系列备考专题,针对每一个科目要点进行深入的指导分析,欢迎各位考生了解咨询。同时,中公考研一直为大家推出考研直播课堂,足不出户就可以边听课边学习,为大家的考研梦想助力!

你可能感兴趣的:(深度优先搜索策略遍历g的非递归算法c语言,2016考研计算机冲刺考点梳理:深度优先搜索遍历(非递归)...)