#include"stdio.h"//有向无权图
#include"stdlib.h"//采用邻接表存储图
structlinjienode//拓扑序列
{ //利用拓扑序列判断图中是否有环原理:
intlocation; //如果图中存在环,因为在寻找拓扑序列时,
structlinjienode * next; //入度的减少永远都无法破坏到该环
}; //也就是该环中的所有点的入度都不可能
structnode //减为0,即:环中的所有点都不可能进入
{ //拓扑序列中;使拓扑序列中的点永远都无法
intindu; //包含图中的所有点
structlinjienode * firstlinjie;
};
int main()
{
inta,i,j,k,nodeshu,bianshu,node1,node2,sum,sign,t;
structlinjienode * temp;
scanf("%d",&a);
for(i=0;i<a;i++)
{
sum=0;
scanf("%d %d",&nodeshu,&bianshu);
structnode nodezu[nodeshu];
for(j=0;j<nodeshu;j++)
{
nodezu[j].indu=0;
nodezu[j].firstlinjie=NULL;
}
for(j=0
利用拓扑序列判断图中是否有环原理
最新推荐文章于 2022-02-24 14:25:39 发布