文章
8
粉丝
0
获赞
1
访问
561
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分
登录后发布评论
暂无评论,来抢沙发