通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"考研真题" 试卷中 2023年考研408计算机统考真题在线评测(附答案) 中有题目如下:
第1题
(13分)对于有向图,如果一个顶点的出度大于入度,则这个顶点称为K页点,有向图用邻接矩阵存储,数据结构定义如下:
typedef struct{ int numVertex, numEdge;//顶点数,边数 char VertexList[MAXV];//顶点表 int Edge[MAXV][MAXV];//邻接矩阵 }MGraph;
要求实现函数int printVertices(MGraph G),输出有向图中所有K页点,并返回K顶点的总数
(1)说明算法思想(占5-6分)
(2)用C/C++实现算法(占7-8分)
[参考答案]
(1)算法思想:遍历有向图中所有顶点,并统计各顶点的出度和入度,输出出度大于入度的KJ页点,并使用变量 count 累计顶点的总数。
计算顶点i的出度: 遍历邻接矩阵的i行元素,即 Edge[i][0]~Edge[i][numVertex-1],统计非零元素个数,即为顶点i的出度
计算顶点i的入度:遍历邻接矩阵的i列元素,即Edge[0][i]~ Edge[numVertex-1][i],统计非零元素个数,即为顶点i的入度
(2)算法实现:
int printVertices (MGraph G){ int count =0;//K顶点的总数 for (int i=0; i<G.numVertex; i++){ int outDegree = 0;//顶点i的出度 int inDegree = 0;//顶点i的入度 for (int j=0;j<G.numVertex; j++) if (G.Edge[i][j]>0) outDegreet+; } for (int j=0;j<G.numVertex; j++) if (G.Edge[j][i]>0) outDegreet+;//循环两次方便理解 } if (outDegree > inDegree) [//顶点i的出度大于入度 printf ("c\n",G.VertexList[i]);//输出顶点i count++;//累加K顶点总数 } } return count;//返回x顶点总数 }
所属试卷:2023年考研408计算机统考真题在线评测(附答案)
下面关于函数模板的表述中不正确的是
下列枚举类型的定义中,包含枚举值3的是。
下列叙述中错误的是( )。
下列叙述中正确的是( )。
有以下程序:程序运行的结果是。
若有函数:以下叙述中正确的是( )。
以下叙述中正确的是( )。
请在下面程序的横线处填上适当字句,以使程序完整,并使程
同一个列表对象中的元素类型可以各不相同。
已知列表x=[1,2],那么连续执行命令 y=x和 y
只能对列表进行切片操作,不能对元组和字符串进行切片操作
表达式 5 if 5>6 else (6 if 3>2
以下能正确表述算式 sin(2nr+30°)的C语言表
下面程序的运行结果________。
设有char a,b;若要通过a&b运算屏蔽掉a中的其
某文件系统的簇和磁盘扇区大小分别为1KB和512B。若
用shell编写小九九乘法表程序,程序执行结果如下:答
使用进程调度启动,指定30分钟后(或在2008年12月
当系统管理员需升级内核版本和改变系统硬件配置时,应(
当某字段要使用AUTO_INCREMENT的属性时,该
条件“IN(20,30,40)”表示
可行性研究主要集中在以下四个方面 、 、
字符串比较的库函数是_____,只写函数名即可。
设char a,b;,若想通过a&&b运算保留a的第1
设p1和p2是指向同一个字符串的指针变量,c为字符变量
若有定义:则变量C中包含的字符个数为_____。
输入:100110101100110110101111
有 6 个城市,任何两个城市之间都有一条道路连接, 6
表达式a*(b+c)-d的后缀表达式是:
TCP/IP 是一组构成互联网基础的网络协议, 字面上
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2