#一个无向图采用邻接矩阵存储,求某一顶点的度
#无向图的度又可以分为没有权值的无向图的度和有权值的无向图的度
#对于没有权值的,只要邻接矩阵中对应的小列表中的值为1,说明有边,说明可以是度+1
#对于有权值的,除了指向自己标记为0,没有联通标记为INF,标记其他正常值的就说明有通路,度就可以+1
def Degree1(g,v):#g为邻接矩阵,v为要操作的顶点号
d=0
for j in range(g.n):
if g.edges[v][j]!=0 and g.edges[v][j]!=INF:
d+=1
return d
#一个有向图采用邻接矩阵存储,求某一顶点的出度和入度
#对于有向图求出度,和无向图求度是一样的
#对于有向图求入度,就要看对应的列,对应的列有非0非INF的元素,说明有个结点出度到了该结点,该节点的入度就+1
def Degree2(g,v):#g为邻接矩阵,v为要操作的顶点号
ans=[0,0]#ans[0]累计出度,ans[1]累计入度
for j in range(g.n):
if g.edges[v][j]!=0 and g.edges[v][j]!=INF:#访问特定行
ans[0]+=1
for i in range(g.n):
if g.edges[i][v]!=0 and g.edges[i][v]!=INF:#访问特定列
ans[1]+=1
return ans