- 17
- 0
- 约1.99千字
- 约 4页
- 2017-02-12 发布于重庆
- 举报
741无向图的连通分量和生成树
7.4.1无向图的连通分量和生成树。
void DFSForest(Graph G,CSTree T)
//建立无向图G的深度优先生成森林的
//(最左)孩子(右)兄弟链表T。
{
T=NULL;
for(v=0;vG.vexnum;++v)
visited[v]=FALSE;
for(v=0;vG.vexnum;++v)
{
if(!visited[v]) //第v顶点为新的生成树的根节点。
{
p=(CSTree)malloc(sizeof(CSNode)); //分配根节点。
*p={GetVex(G,v),NULL,NULL}; //给该节点赋值。
if(!T) T=p; //是第一棵生成树的根(T的根)。
else q-nextSibling=p; //是其他生成树的根(前一棵的根的“兄弟”)。
q=p; //q指示当前生成树的根。
DFSTree(G,v,p); //建立以p为根的生成树。
}// if(!visited[v])
}// for(v=0;vG.vexnum;++v)
}// DFSF
原创力文档

文档评论(0)