

//2023年
//题目里说的K点指的是入度大于出度的顶点
//我原本想用两个数组,一个数组统计全部顶点的入度,一个数组统计全部顶点的出度,
//但是,我想了一下,我完全可以只用两个临时变量来分别记录单个也就是当前顶点的入度和出度
//想想一下邻接矩阵的逻辑结构,先便利i这一行,在去找i这一列,就能统计i的入度和出度了
//之后在下次最外层的for循环也就是要看i+1这个顶点的时候直接在初始化in_degree,out_degree这俩变量即可
int print_K_ver(mgraph g){
int count = 0;
for (int i = 0; i < g.vernum; ++i) {
int in_degree = 0,out_degree = 0;
for (int j = 0; j < g.vernum; ++j) {
if (g.edge[i][j] != 0)
out_degree++; //从i到j是i的出度
if (g.edge[j][i] != 0)
in_degree++; //从j到i是i的入度
}
if (out_degree > in_degree){
count++;
printf("%d",i); //输出题目要求的这个顶点,我这里输出对应的数组下标吧
}
}
return count;
}
文章来源:
四季读书网
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至23467321@qq.com举报,一经查实,本站将立刻删除;如已特别标注为本站原创文章的,转载时请以链接形式注明文章出处,谢谢!