通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"考研真题" 试卷中 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计算机统考真题在线测评(附答案)
若需要向一个二进制文件尾部添加数据,则该文件的打开方式
有如下程序,运行这个程序的输出结果是。
下列循环语句中有语法错误的是。
编程输入6个整数,统计其中奇数的平均值,打印输出。输入
请编写一个函数fun,它的功能是:找出一堆整型数组元素
关系表中的每一横行称为一个( )。
给定程序MODI1.C中函数fun的功能是:统计sub
以下选项中有语法错误的是。
有以下定义则以下选项中正确的表达式是。
以下叙述中正确的是。
已知有函数定义 def demo(*p):return
若程序中有下面的说明和定义:则会发生的情况是( )。
从键盘输入一个字符串a,并在a串中的最大元素后边插入字
以下程序功能是:计算某年某月有几天,其中判别闰年的条件
一个C程序的执行是从( )。
请读程序段以上程序段的输出结果是__________。
下面程序的输出结果是( )。
甲乙双方均采用后退N帧协议(GBN)进行持续的双向数据
Linux系统中用于打印队列查询的命令是( )。
设定限制用户使用磁盘空间的命令是( )。
网络管理的重要任务是:_____和________。
稀疏矩阵由于存在很多零元素,为了节省空间可采用压缩存储
若有3个表的关系模式:学生表S(SNO,SNAME,S
若有以下数组a,数组元素:a[0]~a[9],其值为9
功能:计算出k以内最大的10个能被13或17整除的自然
设k=(a=2,b=3,a*b),则k的值为_____
C语言中,二维数组在内存中的存放方式为按_____优先
下列关于算法的描述中错误的是
本题t是s的子序列的意思是:从s中删去若干个字符,可以
输入: 16输出: ______________
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2