文章
15
粉丝
0
获赞
1
访问
3.5k
1.遍历图的邻接矩阵,如果一行元素之和大于该列元素之和,则称为K顶点,输出并计数
2.
int printVertices(MGraph G){
int count = 0;//K顶点的个数
for (int num = 0; num < G.numVertices; ++num) {
int row=0,con=0;//入度和出度的个数
for (int i = 0; i < MAXV; ++i) {
row += G.Edge[num][i];//出度
}
for (int i = 0; i < MAXV; ++i) {
con += G.Edge[i][num];//入度
}
if(row>con){
//入度大于出度,为K节点
printf("%c",G.VerticesList[num]);
count++;
}
}
return count;
}
评分及理由
(1)得分及理由(满分4分)
得分:3分
理由:学生的设计思想基本正确,提到了遍历邻接矩阵并比较行和列的和来判断K顶点。但描述不够详细,没有明确说明如何利用邻接矩阵统计入度和出度,也没有提到顶点名称的转换。因此扣1分。
(2)得分及理由(满分9分)
得分:7分
理由:学生的代码实现基本正确,能够正确统计入度和出度并输出K顶点。但有以下问题:
MAXV而不是G.numVertices,这可能导致越界访问或统计错误,扣1分。题目总分:3+7=10分
登录后发布评论
暂无评论,来抢沙发