文章
63
粉丝
0
获赞
0
访问
3.1k
1.用整形变量count记录度为奇数的顶点个数,然后遍历邻接矩阵,无向图每遍历一行以后用degree统计该点的总度数,然后对2取余判断顶点的度数是否为奇数,是则count加一,最后统计count的值,若为不大于2的偶数则返回1,否则返回0
2.
int IsExistEL(MGraph G) {
int count = 0;
// 图中逐个顶点遍历
for (int i = 0; i < G.numVertices; i++) {
// 遍历邻接矩阵
int degree = 0;
for (int j = 0; j < G.numVertices; j++) {
if (Edge[i][j] == 1) {
degree++;
}
}
// 判断该点的总度数是否为奇数
if(degree%2==1){
count++;
}
}
if(count==0||count==2){
return 1;
}
return 0;
}
3.时间复杂度为O(n^2),空间复杂度为O(1)
评分及理由
(1)得分及理由(满分4分)
得分:4分
理由:学生的设计思想与标准答案完全一致。正确描述了统计每个顶点的度数,判断度数是否为奇数,并统计奇数度顶点的个数,最后检查个数是否为0或2。思路清晰完整,无逻辑错误。
(2)得分及理由(满分9分)
得分:7分
理由:代码整体逻辑正确,但存在一处错误:在访问邻接矩阵时使用了"Edge[i][j]",而正确的应该是"G.Edge[i][j]",缺少了结构体变量名"G"。这是一个语法错误,但考虑到算法逻辑完全正确,扣2分。其他部分包括变量初始化、循环结构、条件判断等都正确实现。
(3)得分及理由(满分2分)
得分:2分
理...
登录后发布评论
暂无评论,来抢沙发