通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"考研真题" 试卷中 2024年考研408计算机统考真题在线测评(附答案) 中有题目如下:
第1题
2023 年 10 月 26 日,神舟十七号载人飞船发射取得圆满成功,再次彰显了中国航天事业的辉煌成就。载人航天工程是包含众多子工程的复杂系统工程,为了保证工程的有序开展,需要明确各子工程的前导子工程,以协调各子工程的实施。该问题可以简化、抽象为有向图的拓扑序列问题。已知有向图G 采用邻接矩阵存储,类型定义如下。
typedef struct //图的类型定义 { int numVertices, numEdges;//图的顶点数和有向边数 char VerticesList[MAXV];//顶点表,MAXV为已定义常量 int Edge[MAXV][MAXV];//邻接矩阵 }MGraph;
请设计算法
int uniquely(MGraph G)
,判定G 是否存在唯一的拓扑序列,若是,则返回1,否则返回 0。要求如下。
(1)给出算法的基本设计思想。
(2)根据设计思想,采用C 或C++语言描述算法,关键之处给出注释。
参考答案
1)算法基本设计思想
建立图 G 各顶点的入度表indegree[]。选择入度为0的顶点 v,将v 的所有邻接点的入度减1,重复执行这个过程。若每次选中的入度为0的顶点有且仅有一个,且共进行了 G.numVertices 次,则意味着存在唯一的拓扑序列,返回 1,否则不存在拓扑序列,或者存在多个拓扑序列,返回0。
2)算法实现
int uniquely(MGraph g) { // 表示每个顶点的入度 int inDegrees[g.numVertices]; for (int v = 0; v < g.numVertices; v++) { for (int i = 0; i < g.numVertices; i++) { inDegrees[v] += g.Edge[i][v]; } } // 遍历 numVertices 轮,每一轮判断是否 有且仅有 唯一的入度为 0 的顶点 for (int v = 0; v < g.numVertices; v++) { // 入度为 0 的顶点个数 int count0 = 0; // 来记录这一轮入度为 0 的顶点编号 int targetv = -1; for (int i = 0; i < g.numVertices; i++) { if (inDegrees[i] == 0) { targetv = i; count0++; } } // 不存在唯一的拓扑序列 if (count0 != 1) { return 0; } // 进行入度修改 for (int j = 0; j < g.numVertices; j++) { inDegrees[j] -= g.Edge[targetv][j]; } } // 存在唯一的拓扑序列 return 1; }
所属试卷:2024年考研408计算机统考真题在线测评(附答案)
有如下两个类定义,在类YY中保护成员变量的个数是。
已知算法 A 用于检查字符串中各类括号是否匹配,A 执
有以下程序:程序运行后的输出结果是。
两个或两个以上的模块之间关联的紧密程度称为( )。
给定程序中,函数fun的功能是:将a所指4×3矩阵中第
有以下程序程序的输出结果是( )。
给定程序中,函数fun的功能是:计算下式前n项的和作为
关于C语言标识符,以下叙述错误的是( )。
下列叙述中正确的是( )。
有以下程序:程序运行后的输出结果是( )。
为了避免在嵌套的if-else语句中产生二义性,C语言
读程序写结果1.2.#include<iostream
已知字典x={i : str(i+3) for i i
已知x=[[1,3,3],[2,3,1]],那么表达式
以下代码的输出结果是。
设有char a,b;若要通过a&b运算屏蔽掉a中的其
下面给出了一个SHELL程序,试对其行后有#(n)形式
如何从当前系统中卸载一个已装载的文件系统
假设输入的所有数都为不超过1000的正整数,完成下面的
给定如下有向图,该图的拓扑有序序列的个数是( )。
设有以下共用体类型说明和变量定义,则变量d在内存所占字
则x的值为_____。
x=5,y=8时,C语言表达式5-2>=x-1<=y-
以下定义语句中,错误的是( )。
输入 :3AB:ACDEbFBkBDAR:ACDBrT
下列程序中,正确计算 1, 2, …, 100 这 1
输入: 7输出:______
输入: 16输出: ______________
(过河问题) 在一个月黑风高的夜晚,有一群人在河的右岸
由键盘输入一个奇数 P(P<100,000,000)
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2