Python 判断 有向图 是否有环的实例讲解
实例如下:
importnumpy
fromnumpyimport*
defdfs(v):
vis[v]=-1
flag=0
foriinrange(n):
#print(a[v][i],'---',vis[i])
ifa[v][i]!=0andvis[i]!=-1:
dfs(i)
vis[i]=1
else:
pass
ifa[v][i]!=0andvis[i]==-1:
print('Yes,thereisAloopinthisnetwork\n')
globalswi
swi=True
exit()
return
#break
else:
pass
print('s=0')
returnFalse
globalswi
swi=False
'''===装载数据'''
edges=numpy.loadtxt('9_nodes_with_r_edge_8_to_3.txt')
#edges=[int(i)foriinedges]
bian=int(shape(edges)[0])-1
print(bian,'edgesinthenetwork\n')
print(shape(edges),'\n')
n=int(edges[0][1])
c=int(edges[0][0])
#n,c=input().split()
#n=int(n)
#c=int(c)
a=[([0]*n)foriinrange(n)]
vis=[0]*c
foriinrange(1,c+1):
s,t=edges[i][0:2]
#print(s,'-',t)
'''GO_OBO文件则s,t不需要-1'''
s=int(s)-1
t=int(t)-1
#s=int(s)
#t=int(t)
a[s][t]=1
#print(a)
#print(vis)
dfs(0)
#print(swi)
ifnotswi:
print('Noloop,DAG-DAG-DAG')
用到numpy模块,读取的txt文件为有向图的连边,其中第一行第一个数字为边的数量,第二个数字为节点数第二行及以后前两个数字,第一个为起点,第二个为落点。
以上这篇Python判断有向图是否有环的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
热门推荐
10 网络段子祝福语大全简短
11 可爱英文新婚祝福语简短
12 妹妹生日祝福语幽默简短
13 女生高级生日祝福语简短
14 新年拜年祝福语简短版
15 英语校庆祝福语简短
16 护士寄语简短祝福语女生
17 升职蛋糕祝福语大全简短
18 友情赠送蛋糕祝福语简短