文章
15
粉丝
0
获赞
6
访问
831
你的答案:
(1) 根据题干可得,G是一个AOV网;只需要在进行拓扑排序的过程中,检查是否有多个候选点(即多个入度为0的顶点),即可判断拓扑排序序列是否唯一
(2)
// 使用栈存储候选点
// 使用的基础操作有:
// init(&S):初始化栈
// push(&S, x):将x入栈
// pop(&S, &x): 栈顶元素出栈并用x返回
// empty(S):判断栈是否为空,空则返回true,否则返回false
typedef struct {
int data[MAXV];
int top = -1; // 栈顶指针
} SqStack;
// 算法主体
int solution(MGraph G) {
SqStack S;
init(S);
// 记录所有顶点的入度
int inDegrees[G.numVertices];
// 初始化inDegrees[]
for (int i = 0; i < G.numVertices; i++) {
int inDegree = 0; // 顶点i的入度
for (int j = 0; j < G.numVertices; j++) {
if (G.Edge[j][i] == 1) { // j到i有一条有向边,入度+1
inDegree++;
 ...
登录后发布评论
暂无评论,来抢沙发