文章
286
粉丝
0
获赞
2
访问
122.9k
1)初始化 设置indegree数组统计每个结点的入度 visited数组判断每个节点是否被访问过 每一轮从所有没被访问过的顶点中选出一个入度零的顶点 (如果有多个入度零的顶点说明不唯一返回0) 删去对应顶点的相关边 更新入度 再重复选出一个入度零顶点 至所有顶点都被访问 则存在唯一拓扑序列 返回1 否则返回0
2)typedef struct //图的类型定义
{
int numVertices, numEdges; //图的顶点数和有向边数
char verticesList[MAXV]; //项点表,MAXV为以定义常量
int Edge[MAXV][MAXV]; //知接矩阵
}MGraph;
int uniquely(MGraph G){
int visited[G.numVertices];
int indegree[G.numVertices];
for(int i = 0; i < G.numVertices ; i++){
visited[i]=0;//所有节点初始未被访问
}
//计算所以节点入度
for(int i = 0; i < G.numVertices ; i++){
for(int j = 0 ; j < G.numVertices ;j++){
if(Edge[i][j]!=0){
indegree[j]++;//入度初始化&nbs...
登录后发布评论
暂无评论,来抢沙发