编写一个程序实现图的遍历运算,出图的深度优先遍历序列(递归算法)
1个回答
展开全部
lz 问的也太easy了 其实这样的代码 度娘那 何止千万?
随便写个深搜:
//如果是按邻接表存放
void dfs(graph G,int i)
{
if(G.vertices[i].firstarc==NULL) return;
//下面开始搜
ArcNode *p;//弧指针
for(p=G.vertices[i].firstarc;p;p=p->nextarc)
{
//如果访问过则置真
if(!isvisited())
{
.............
h=下一个要搜的点
// 写一个定位函数就ok了
访问函数;
dfs(G,h);
// 不需要恢复了。。。
}
}
}
随便写个深搜:
//如果是按邻接表存放
void dfs(graph G,int i)
{
if(G.vertices[i].firstarc==NULL) return;
//下面开始搜
ArcNode *p;//弧指针
for(p=G.vertices[i].firstarc;p;p=p->nextarc)
{
//如果访问过则置真
if(!isvisited())
{
.............
h=下一个要搜的点
// 写一个定位函数就ok了
访问函数;
dfs(G,h);
// 不需要恢复了。。。
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询