文章
8
粉丝
11
获赞
0
访问
490
1.统计所有顶点的入度,当入度为0时,记录该顶点,并从图中删去该顶点,如果在任何时刻存在多个入度为0的顶点,返回0,否则返回1.
2.int uniquely(MGraph G)
int i,j,indegree=0;//初始化数组
for(int i=0,i<G.numVertices,i++)
indegree=0;
for(int j=0,j<G.numVertices,j++){
indegree+=G.Edge[j][i];}//计算入度
for(int i=0,i<G.numVertices;i++){
int zeroInDegreeCount = 0;
int zeroInDegreeIndex = -1;
for(int j=0;j<G.numVertices;j++){
if(inDegree==0){
zeroInDegreeCount++;//统计入度为0的顶点数
zeroInDegreeIndex=j;}}
if(zeroInDegreeCount==0){
return 0;}
for(int j=0,j<G.numVertices,j++){
if(G.Edge[zeroInDegreeIndex][j]= =1){
inDegree[j]--;}}}
return 1;}
登录后发布评论
暂无评论,来抢沙发