问答题 已有邻接表表示的有向图,请编程判断从第u顶点至第v顶点是否有简单路径,若有,则印出该路径上的顶点。要求:先描述图的存储结构,并简述算法思路;查找邻接点等图的运算要自己实现。(尽量采用非递归算法,否则满分15分)【北京工业大学2000六(20分)】
【正确答案】正确答案:与上题类似,这里给出非递归算法,顶点信息仍是编号。 S[++t0p]=u;viSited[u]=1; while(top>0 || p) (P=g Is[top\]\].firstarc; //第一个邻接点 while(p!=null&&visited[p一>adjvex]==1)p=p->next; //下一个访问邻接点 if(p==null)top一; //退栈 else{i=p一>adjvex; //取邻接点(编号) if(i==v) //找到从u到v的一条简单路径,输出 (for(k=1;k<=top;k++) cout<
【答案解析】