通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"考研真题" 试卷中 2021年考研408计算机统考真题在线评测(附答案) 中有题目如下:
第1题
(15 分)已知无向连通图 G 由顶点集 V 和边集 E 组成|E|>0,当 G 中度为奇数的顶点个数 为不大于 2 的偶数时,G 存在包含所有边且长度为|E|的路径(称为 EL 路径),设图 G 采用邻接 矩阵存储,类型定义如下:
Typedef struct{ //图的定义 int numVertices,numEdges; //图中实际的顶点数和边数 Char VertticesList[MAXV]; //顶点表。MAXV 为已定义常量 Int Edge[MAXV][MAXV]; //邻接矩阵 };MGraph;
请设计算法:int IsExistEL(MGraph G),判断 G 是否存在 EL 路径,若存在,则返回 1,否则,返回 0,要求:
(1)给出算法的基本设计思想。
(2)根据设计思想采用 C 或者 C++语言描述算法,关键之处给出注释。
(3)说明你所设计算法的时间复杂度和空间复杂度。
【答案解析】
(1)算法的基本设计思想
对于采用邻接矩阵存储的无向图,邻接矩阵每一行(列)中非零元素的个数为本行(列)对应顶点的度。可以依次计算连通图 G 中各顶点的度,并记录度为奇数的顶点个数,若个数为 0或 2,则返回 1,否则返回 0。
(2)算法实现
Int IsExistEL(MGraph G) //采用邻接矩阵存储,判断图是否存在 EL 路径 { int degree,i,j, count=0; for(i=0;I<G.numVertices;i++) { degree=0; for(j=0;j<G.numVertices;j++) //依次计算各个顶点的度 degree+=G.Edge[i][j]; if(degree%2!=0) count++; //对度为奇数的顶点计数 } if(count ==0 || count == 2) return 1; //存在 EL 路径,返回 1 else return 0; //不存在 EL 路径,返回 0 }
(3)算法的时间复杂度和空间复杂度
本参考答案给出的算法的时间复杂度是 O(n^2),空间复杂度是 O(1)。
所属试卷:2021年考研408计算机统考真题在线评测(附答案)
下列给定程序中,函数fun的功能是:从s所指字符串中,
有以下程序:程序的运行结果是( )。
有如下程序:程序运行后的输出结果是。
有以下程序:程序运行后的输出结果是( )。
以下能够实现计算5!的程序段是。
改正下面程序段中的错误,写出整个正确的程序段参考答案:
Python支持复数类型,以下哪个说法是错误的( )。
字节串b'hel1o wor1d'和b'hel1o w
用于循环体中退出本层循环的语句是___________
有语句定义:int i,j;则以下程序段中printf
有以下程序 在VC6平台上编译运营,程序运营后的输出
假定输入的字符串中只包含字母和*号。请编写函数fun,
检查已安装的文件系统/dev/had5是否正常,若检查
关于Samba服务器:(1)叙述该服务器的功能;(2)
Linux的发行版本有( )
关系代数中专门的关系运算包括: 、投影、连接和除法。
用二维表来表示实体类型及实体间联系的数据模型称为
在数据库的并发控制中,常用的封锁类型有两种,分别是排它
(寻找被移除的元素)问题,原有长度为n+1,公差为1的
软件测试的方法有 和 (即黑盒法)。
将高级语言源程序转换为可执行目标文件的主要过程是( )
功能:计算出k以内最大的10个能被13或17整除的自然
功能:不用递归方式,编写函数fun,求任一整数m的n次
设函数的调用形式如下:f((x1,x2),(y1,y2
条件表达式x?'a':'b'中,若x=0时,表达式的值
在主函数中从键盘输入若干个数放入数组中,用0结束输入并
(序列重排)全局数组变量 a 定义如下:const i
在一个无向图中,如果任意两点之间都存在路径相连,则称其
有 6 个城市,任何两个城市之间都有一条道路连接, 6
更多选择题
更多填空题
计算机二级Python语言程序设计模拟试卷
Python第三方库
2025年考研408计算机统考真题在线评测(附答案)
Python标准库
Python函数
Python文件
Python组合数据类型