收藏 分销(赏)

计算机专业基础综合真题及答案解析.docx

上传人:天**** 文档编号:9887330 上传时间:2025-04-12 格式:DOCX 页数:29 大小:43.17KB
下载 相关 举报
计算机专业基础综合真题及答案解析.docx_第1页
第1页 / 共29页
计算机专业基础综合真题及答案解析.docx_第2页
第2页 / 共29页
点击查看更多>>
资源描述
2021 年全国硕士研究生入学统一考试 计算机学科专业根底综合试题 一、单项选择题:140小题,每题2分,共80分。以下每题给出的四个选项中,只有一个选项符合题目要求。请在答题卡上将所选项的字母涂黑。 1.程序如下: int s(int n) { return (n<=0) 0 : s(n-1) +n; } void main() { cout<< s(1); } 程序运行时使用栈来保存调用过程的信息,自栈底到栈顶保存的信息一次对应的是 A.main()->S(1)->S(0) B.S(0)->S(1)->main() C. main()->S(0)->S(1) D.S(1)->S(0)->main() 2. 先序序列为a,b,c,d的不同二叉树的个数是 A.13 B.14 C.15 D.16 3.以下选项给出的是从根分别到达两个叶节点路径上的权值序列,能属于同一棵哈夫 曼树的是 A.24,10,5与 24,10,7 B.24,10,5与24,12,7 C.24,10,10与 24,14,11 D.24,10,5与 24,14,6 4.现在有一颗无重复关键字的平衡二叉树〔AVL树〕,对其进展中序遍历可得到一个降序序列。以下关于该平衡二叉树的表达中,正确的选项是 A.根节点的度一定为2 B.树中最小元素一定是叶节点 C.最后插入的元素一定是叶节点 D.树中最大元素一定是无左子树 5.设有向图G=(V,E),顶点集V={V0,V1,V2,V3},边集E={<v0,v1>,<v0,v2>,<v0,v3>,<v1,v3>},假设从顶点V0 开场对图进展深度优先遍历,那么可能得到的不同遍历序列个数是 A.2 B.3 C.4 D.5 6.求下面带权图的最小〔代价〕生成树时,可能是克鲁斯卡〔kruskal〕算法第二次选中但不是普里姆〔Prim〕算法〔从V4开场〕第2次选中的边是 A.(V1,V3) B.(V1,V4) C.(V2,V3) D.(V3,V4) 7.以下选项中,不能构成折半查找中关键字比拟序列的是 A.500,200,450,180 B.500,450,200,180 C.180,500,200,450 D.180,200,500,450 8.字符串S为“abaabaabacacaabaabcc〞. 模式串t为“abaabc〞, 采用KMP算法进展匹配,第一次出现“失配〞(s[i] != t[i]) 时,i=j=5,那么下次开场匹配时,i与j的值分别是 A.i=1,j=0 B.i=5,j=0 C.i=5,j=2 D.i=6,j=2 9.以下排序算法中元素的移动次数与关键字的初始排列次序无关的是 A.直接插入排序 B.起泡排序 C.基数排序 D.快速排序 10.小根堆为8,15,10,21,34,16,12,删除关键字8之后需重建堆,在此过程中,关键字之间的比拟数是 A.1 B.2 C.3 D.4 11.希尔排序的组内排序采用的是〔〕 A.直接插入排序 B.折半插入排序 C.快速排序 D.归并排序 12.计算机硬件能够直接执行的是〔〕 Ⅰ.机器语言程序 Ⅱ.汇编语言程序 Ⅲ.硬件描述语言程序 A.仅Ⅰ B.仅Ⅰ Ⅱ C.仅Ⅰ Ⅲ D.ⅠⅡ Ⅲ 13.由3个“1〞与5个“0〞组成的8位二进制补码,能表示的最小整数是〔〕 A.-126 B.-125 C.-32 D.-3 14.以下有关浮点数加减运算的表达中,正确的选项是〔〕 Ⅰ. 对阶操作不会引起阶码上溢或下溢 Ⅱ. 右规与尾数舍入都可能引起阶码上溢 Ⅲ. 左规时可能引起阶码下溢 Ⅳ. 尾数溢出时结果不一定溢出 A.仅Ⅱ Ⅲ B.仅ⅠⅡⅣ C.仅ⅠⅢ Ⅳ D.ⅠⅡ Ⅲ Ⅳ 15.假定主存地址为32位,按字节编址,主存与Cache之间采用直接映射方式,主存块大小为4个字,每字32位,采用回写〔Write Back〕方式,那么能存放4K字数据的Cache的总容量的位数至少是〔〕 A.146k B.147K C.148K D.158K 16.假定编译器将赋值语句“x=x+3;〞转换为指令〞add xaddt, 3〞,其中xaddt是x 对应的存储单元地址,假设执行该指令的计算机采用页式虚拟存储管理方式,并配有相应的TLB,且Cache使用直写〔Write Through〕方式,那么完成该指令功能需要访问主存的次数至少是〔〕 A.0 B.1 C.2 D.3 17.以下存储器中,在工作期间需要周期性刷新的是〔〕 A.SRAM B.SDRAM C.ROM D.FLASH 18.某计算机使用4体穿插存储器,假定在存储器总线上出现的主存地址〔十进制〕序列为8005,8006,8007,8008,8001,8002,8003,8004,8000,那么可能发生发生缓存冲突的地址对是〔〕 A.8004、8008 B.8002、8007 C.8001、8008 D.8000、8004 19.以下有关总线定时的表达中,错误的选项是〔〕 A.异步通信方式中,全互锁协议最慢 B.异步通信方式中,非互锁协议的可靠性最差 C.同步通信方式中,同步时钟信号可由多设备提供 D.半同步通信方式中,握手信号的采样由同步时钟控制 20.假设磁盘转速为7200转/分,平均寻道时间为8ms,每个磁道包含1000个扇区,那么访问一个扇区的平均存取时间大约是( ) A.8.1ms B.12.2ms C. D. 21.在采用中断I/O方式控制打印输出的情况下,CPU与打印控制接口中的I/O端口之间交换的信息不可能是( ) A.打印字符 B.主存地址 C.设备状态 D.控制命令 22.内部异常(内中断)可分为故障(fault)、陷阱(trap)与终止(abort)三类。以下有关内部异常的表达中,错误的( ) A.内部异常的产生及当前执行指令相关 B.内部异常的检测由CPU内部逻辑实现 C.内部异常的响应发生在指令执行过程中 D.内部异常处理的返回到发生异常的指令继续执行 23.处理外部中断时,应该由操作系统保存的是( ) A.程序计数器(PC)的内容 B.通用存放器的内容 C.块表(TLB)的内容 D.Cache中的内容 24.假定以下指令已装入指令存放器。那么执行时不可能导致CPU从用户态变为内核态(系统态)的是( ) A.DIV R0,R1;(R0)/(R1)→R0 B.INT n;产生软中断 C.NOT R0;存放器R0的内容取非 D.MOV R0,addr;把地址处的内存数据放入存放器R0中 25.以下选项中会导致进程从执行态变为就绪态的事件是〔〕 A.执行P(wait)操作 B.申请内存失败 C.启动I/O设备 D.被高优先级进程抢占 26.假设系统S1 采用死锁防止方法,S2采用死锁检测方法,以下表达中正确的选项是〔〕 Ⅰ.S1会限制用户申请资源的顺序 Ⅱ.S1需要进展所需资源总量信息,而S2不需要 Ⅲ.S1不会给可能导致死锁的进程分配资源,S2会 A.仅Ⅰ Ⅱ B.仅Ⅱ Ⅲ C.仅Ⅰ Ⅲ D.Ⅰ Ⅱ Ⅲ 27.系统为某进程分配了4个页框,该进程已访问的页号序列为2,0,2,9,3,4,2,8,2,3,8,4,5,假设进程要访问的下一页的页号为7,依据LRU算法,应淘汰页的页号是〔〕 A.2 B.3 C.4 D.8 28.在系统内存中设置磁盘缓冲区的主要目的是〔〕 A.减少磁盘I/O次数 B.减少平均寻道时间 C.提高磁盘数据可靠性 D.实现设备无关性 29.在文件的索引节点中存放直接索引指针10个,一级二级索引指针各1个,磁盘块大小为1KB。每个索引指针占4个字节。假设某个文件的索引节点已在内存中,到把该文件的偏移量〔按字节编址〕为1234与307400处所在的磁盘块读入内存。需访问的磁盘块个数分别是〔〕 A.1,2 B.1,3 C.2,3 D.2,4 30.在请求分页系统中,页面分配策略及页面置换策略不能组合使用的是〔〕 A.可变分配,全局置换 B.可变分配,局部置换 C.固定分配,全局置换 D.固定分配,局部置换 二、综合应用题:41~47小题,共70分。 41. 用单链表保存m个整数,节点的构造为(data,link),且|data|<n(n为正整数)。现要求设计一个时间复杂度尽可能高效地算法,对于链表中绝对值相等的节点,仅保存第一次出现的节点而删除其余绝对值相等的节点。 例如假设给定的单链表head如下 删除节点后的head为 要求 (1) 给出算法的根本思想 (2) 使用c或c++语言,给出单链表节点的数据类型定义。 (3) 根据设计思想,采用c或c++语言描述算法,关键之处给出注释。 (4) 说明所涉及算法的时间复杂度与空间复杂度。 42. 有5个顶点的图G如以下图所示 请答复以下问题 (1) 写出图G的邻接矩阵A(行、列下标从0开场) (2) 求A2,矩阵A2中位于0行3列元素值的含义是什么? (3) 假设具有n(n>=2)个顶点的邻接矩阵为B,那么Bm(2<=m<=n)非零元素的含义是什么? 43. 〔13分〕某16位计算机主存按字节编码。存取单位为16位;采用16位定长指令格式;CPU采用单总线构造,主要局部如以下图所示。图中R0~R3为通用存放器;T为暂存器;SR为移位存放器,可实现直送(mov)、左移一位(left)、右移一位(right)3种操作,控制信号为Srop,SR的输出信号Srout控制;ALU可实现直送A(mova)、A加B(add)、A减B(sub)、A及B(and)、A或B(or)、非A(not)、A加1(inc)7种操作,控制信号为ALUop。 请答复以下问题。 (1) 图中哪些存放器是程序员可见的?为何要设置暂存器T? (2) 控制信号ALUop与SRop的位数至少各是多少? (3) 控制信号Srout所控制邮件的名称或作用是什么? (4) 端点①~⑨中,哪些端点须连接到控制部件的输出端? (5) 为完善单总线数据通路,需要在端点①~⑨中相应的端点之间添加必要的连线。写出连线的起点与终点,以正确表示数据的流动方向。 (6) 为什么二路选择器MUX的一个输入端是2? 44. 〔10分〕题43中描述的计算机,其局部指令执行过程的控制信号如如题44图a所示。 题44图a 局部指令控制信号 该机指令格式如题44图b所示,支持存放器直接与存放器间接两种寻址方式,寻址方式位分别为0与1,通用存放器R0~R3的编号分别为0、1、2与3。 题44图b 指令格式 请答复以下问题。 (1) 该机的指令系统最多可定义多少条指令? (2) 假定inc、shl与sub指令的操作码分别为01H、02H与03H,那么以下指令对应的机 器代码各是什么? ① inc R1 ; R1 + 1→R1 ② shl R2,R1 ; (R1) << 1→R2 ③ sub R3, (R1),R2 ; ((R1)) – (R2) → R3 (3) 假定存放器X的输入与输出控制信号分别为Xin与Xout,其值为1表示有效,为0表示无效〔例如,PCout=1 表示PC内容送总线〕;存储器控制信号为MEMop,用于控制存储器的读(read〕与写(write)操作。写出题44图a中标号①⑧处的控制信号或控制信号的取值。 (4) 指令“sub R1,R3,(R2)〞与“inc R1〞的执行阶段至少各需要多少个时钟周期? 45. 有A、B两人通过信箱进展辩论,每人都从自己的信箱中取得对方的问题。将答案与向对方提出的新问题组成一个邮件放入对方的邮箱中,设A的信箱最多放M个邮件,B的信箱最多放 N个邮件。初始时A的信箱中有x个邮件〔0<x<M〕. B 中有y个〔0<y<N〕。辩论者每取出一个邮件,邮件数减1. A、B两人操作过程: Code Begin A{ While(TRUE){ 从A的信箱中取出一个邮件; 答复以下问题并提出一个新问题; 将新邮件放入B的信箱; B{ While(TRUE){ 从B的信箱中取出一个邮件; 答复以下问题并提出一个新问题; 将新邮件放入A的信箱; Code End 当信箱不为空时,辩论者才能从信箱中取邮件,否那么等待。 当信箱不满时,辩论者才能将新邮件放入信箱,否那么等待。 请添加必要的信号量与P、V〔或wait, signed〕操作,以实现上述过程的同步,要求写出完整过程,并说明信号量的含义与初值。 2021 年全国硕士研究生入学统一考试 计算机学科专业根底综合试题答案解析 一、单项选择题:140小题,每题2分,共80分。以下每题给出的四个选项中,只有一个选项符合题目要求。请在答题卡上将所选项的字母涂黑。 1.程序如下: int s(int n) { return (n<=0) 0 : s(n-1) +n; } void main() { cout<< s(1); } 程序运行时使用栈来保存调用过程的信息,自栈底到栈顶保存的信息一次对应的是 A.main()->S(1)->S(0) B.S(0)->S(1)->main() D. main()->S(0)->S(1) D.S(1)->S(0)->main() 【参考答案】D 【考察知识点】栈的根本概念与函数调用的原理。 3. 先序序列为a,b,c,d的不同二叉树的个数是 A.13 B.14 C.15 D.16 【参考答案】C 【考察知识点】二叉树的根本概念。 3.以下选项给出的是从根分别到达两个叶节点路径上的权值序列,能属于同一棵哈夫 曼树的是 A.24,10,5与 24,10,7 B.24,10,5与24,12,7 C.24,10,10与 24,14,11 D.24,10,5与 24,14,6 【参考答案】C 【考察知识点】哈夫曼树的原理。 4.现在有一颗无重复关键字的平衡二叉树〔AVL树〕,对其进展中序遍历可得到一个降序序列。以下关于该平衡二叉树的表达中,正确的选项是 A.根节点的度一定为2 B.树中最小元素一定是叶节点 C.最后插入的元素一定是叶节点 D.树中最大元素一定是无左子树 【参考答案】B 【考察知识点】树的中序遍历与AVL树的根本概念。 5.设有向图G=(V,E),顶点集V={V0,V1,V2,V3},边集E={<v0,v1>,<v0,v2>,<v0,v3>,<v1,v3>},假设从顶点V0 开场对图进展深度优先遍历,那么可能得到的不同遍历序列个数是 A.2 B.3 C.4 D.5 【参考答案】D 【考察知识点】图的深度优先遍历。 6.求下面带权图的最小〔代价〕生成树时,可能是克鲁斯卡〔kruskal〕算法第二次选中但不是普里姆〔Prim〕算法〔从V4开场〕第2次选中的边是 A.(V1,V3) B.(V1,V4) C.(V2,V3) D.(V3,V4) 【参考答案】A 【考察知识点】最小生成树算法的Prim算法与Kruskal算法。 7.以下选项中,不能构成折半查找中关键字比拟序列的是 A.500,200,450,180 B.500,450,200,180 C.180,500,200,450 D.180,200,500,450 【参考答案】A 【考察知识点】二分查找算法。 8.字符串S为“abaabaabacacaabaabcc〞. 模式串t为“abaabc〞, 采用KMP算法进展匹配,第一次出现“失配〞(s[i] != t[i]) 时,i=j=5,那么下次开场匹配时,i与j的值分别是 A.i=1,j=0 B.i=5,j=0 C.i=5,j=2 D.i=6,j=2 【参考答案】C 【考察知识点】模式匹配〔KMP〕算法。 9.以下排序算法中元素的移动次数与关键字的初始排列次序无关的是 A.直接插入排序 B.起泡排序 C.基数排序 D.快速排序 【参考答案】B 【考察知识点】几种排序算法的比拟。 10.小根堆为8,15,10,21,34,16,12,删除关键字8之后需重建堆,在此过程中,关键字之间的比拟数是 A.1 B.2 C.3 D.4 【参考答案】B 【考察知识点】最小堆的概念与最小堆的重建。 11.希尔排序的组内排序采用的是〔〕 A.直接插入排序 B.折半插入排序 C.快速排序 D.归并排序 【参考答案】A 【考察知识点】希尔排序根本思想是:先将整个待排元素序列分割成假设干个子序列〔由 相隔某个“增量〞的元素组成的〕分别进展直接插入排序,然后依次缩减增量再进展排序,待整个序列中的元素根本有序〔增量足够小〕时,再对全体元素进展一次直接插入排序。 12.计算机硬件能够直接执行的是〔〕 Ⅰ.机器语言程序 Ⅱ.汇编语言程序 Ⅲ.硬件描述语言程序 A.仅Ⅰ B.仅Ⅰ Ⅱ C.仅Ⅰ Ⅲ D.ⅠⅡ Ⅲ 【参考答案】A 【考察知识点】用汇编语言等非机器语言书写好的符号程序称源程序,运行时汇编程序要 将源程序翻译成目标程序,目标程序是机器语言程序。 13.由3个“1〞与5个“0〞组成的8位二进制补码,能表示的最小整数是〔〕 A.-126 B.-125 C.-32 D.-3 【参考答案】B 【考察知识点】二进制的补码表示。 14.以下有关浮点数加减运算的表达中,正确的选项是〔〕 Ⅰ. 对阶操作不会引起阶码上溢或下溢 Ⅱ. 右规与尾数舍入都可能引起阶码上溢 Ⅲ. 左规时可能引起阶码下溢 Ⅳ. 尾数溢出时结果不一定溢出 A.仅Ⅱ Ⅲ B.仅ⅠⅡⅣ C.仅ⅠⅢ Ⅳ D.ⅠⅡ Ⅲ Ⅳ 【参考答案】B 【考察知识点】浮点数的加减运算。 15.假定主存地址为32位,按字节编址,主存与Cache之间采用直接映射方式,主存块大小为4个字,每字32位,采用回写〔Write Back〕方式,那么能存放4K字数据的Cache的总容量的位数至少是〔〕 A.146k B.147K C.148K D.158K 【参考答案】 B 【考察知识点】Cache 与主存的映射方式。直接映射方式地址映象规那么: 主存储器中一块只能映象到Cache的一个特定的块中。(1) 主存及缓存分成一样大小的数据块。(2) 主存容量应是缓存容量的整数倍,将主存空间按缓存的容量分成区,主存中每一区的块数及缓存的总块数相等。(3) 主存中某区的一块存入缓存时只能存入缓存中块号一样的位置。 16.假定编译器将赋值语句“x=x+3;〞转换为指令〞add xaddt, 3〞,其中xaddt是x 对应的存储单元地址,假设执行该指令的计算机采用页式虚拟存储管理方式,并配有相应的TLB,且Cache使用直写〔Write Through〕方式,那么完成该指令功能需要访问主存的次数至少是〔〕 A.0 B.1 C.2 D.3 【参考答案】 C 【考察知识点】 考察了页式虚拟存储器及TLB快表。 17.以下存储器中,在工作期间需要周期性刷新的是〔〕 A.SRAM B.SDRAM C.ROM D.FLASH 【参考答案】B 【考察知识点】DRAM使用电容存储,所以必须隔一段时间刷新〔refresh〕一次,如果存储单元没有被刷新,存储的信息就会丧失。 18.某计算机使用4体穿插存储器,假定在存储器总线上出现的主存地址〔十进制〕序列为8005,8006,8007,8008,8001,8002,8003,8004,8000,那么可能发生发生缓存冲突的地址对是〔〕 A.8004、8008 B.8002、8007 C.8001、8008 D.8000、8004 【参考答案】 C 【考察知识点】 考察了存储器中的多模块存储器,多体并行系统。 19.以下有关总线定时的表达中,错误的选项是〔〕 A.异步通信方式中,全互锁协议最慢 B.异步通信方式中,非互锁协议的可靠性最差 C.同步通信方式中,同步时钟信号可由多设备提供 D.半同步通信方式中,握手信号的采样由同步时钟控制 【参考答案】 B 【考察知识点】考察了总线操作与定时,主要是同步定时及异步定时的定义及其特点。 20.假设磁盘转速为7200转/分,平均寻道时间为8ms,每个磁道包含1000个扇区,那么访问一个扇区的平均存取时间大约是( ) A.8.1ms B.12.2ms C. D. 【参考答案】B 【考察知识点】磁盘访问时间计算。 21.在采用中断I/O方式控制打印输出的情况下,CPU与打印控制接口中的I/O端口之间交换的信息不可能是( ) A.打印字符 B.主存地址 C.设备状态 D.控制命令 【参考答案】A 【考察知识点】程序中断I/O方式。 22.内部异常(内中断)可分为故障(fault)、陷阱(trap)与终止(abort)三类。以下有关内部异常的表达中,错误的( ) A.内部异常的产生及当前执行指令相关 B.内部异常的检测由CPU内部逻辑实现 C.内部异常的响应发生在指令执行过程中 D.内部异常处理的返回到发生异常的指令继续执行 【参考答案】A 【考察知识点】内部异常概念。 23.处理外部中断时,应该由操作系统保存的是( ) A.程序计数器(PC)的内容 B.通用存放器的内容 C.块表(TLB)的内容 D.Cache中的内容 【参考答案】A 【考察知识点】外部中断处理过程。 24.假定以下指令已装入指令存放器。那么执行时不可能导致CPU从用户态变为内核态(系统态)的是( ) A.DIV R0,R1;(R0)/(R1)→R0 B.INT n;产生软中断 C.NOT R0;存放器R0的内容取非 D.MOV R0,addr;把地址处的内存数据放入存放器R0中 【参考答案】C 【考察知识点】CPU用户态与内核态概念。 25.以下选项中会导致进程从执行态变为就绪态的事件是〔〕 A.执行P(wait)操作 B.申请内存失败 C.启动I/O设备 D.被高优先级进程抢占 【参考答案】D 【考察知识点】进程间各状态的转化。 26.假设系统S1 采用死锁防止方法,S2采用死锁检测方法,以下表达中正确的选项是〔〕 Ⅰ.S1会限制用户申请资源的顺序 Ⅱ.S1需要进展所需资源总量信息,而S2不需要 Ⅲ.S1不会给可能导致死锁的进程分配资源,S2会 A.仅Ⅰ Ⅱ B.仅Ⅱ Ⅲ C.仅Ⅰ Ⅲ D.Ⅰ Ⅱ Ⅲ 【参考答案】C 【考察知识点】死锁相关概念。 27.系统为某进程分配了4个页框,该进程已访问的页号序列为2,0,2,9,3,4,2,8,2,3,8,4,5,假设进程要访问的下一页的页号为7,依据LRU算法,应淘汰页的页号是〔〕 A.2 B.3 C.4 D.8 【参考答案】C 【考察知识点】LRU算法。 28.在系统内存中设置磁盘缓冲区的主要目的是〔〕 A.减少磁盘I/O次数 B.减少平均寻道时间 C.提高磁盘数据可靠性 D.实现设备无关性 【参考答案】A 【考察知识点】磁盘与内存速度的差异。 29.在文件的索引节点中存放直接索引指针10个,一级二级索引指针各1个,磁盘块大小为1KB。每个索引指针占4个字节。假设某个文件的索引节点已在内存中,到把该文件的偏移量〔按字节编址〕为1234与307400处所在的磁盘块读入内存。需访问的磁盘块个数分别是〔〕 A.1,2 B.1,3 C.2,3 D.2,4 【参考答案】D 【考察知识点】文件索引相关概念。 30.在请求分页系统中,页面分配策略及页面置换策略不能组合使用的是〔〕 A.可变分配,全局置换 B.可变分配,局部置换 C.固定分配,全局置换 D.固定分配,局部置换 【参考答案】D 【考察知识点】页面分配策略与页面置换策略的概念与相应的方法。 二、综合应用题:41~47小题,共70分。 41. 用单链表保存m个整数,节点的构造为(data,link),且|data|<n(n为正整数)。现要求设计一个时间复杂度尽可能高效地算法,对于链表中绝对值相等的节点,仅保存第一次出现的节点而删除其余绝对值相等的节点。 例如假设给定的单链表head如下 删除节点后的head为 要求 (1) 给出算法的根本思想 (2) 使用c或c++语言,给出单链表节点的数据类型定义。 (3) 根据设计思想,采用c或c++语言描述算法,关键之处给出注释。 (4) 说明所涉及算法的时间复杂度与空间复杂度。 【参考答案】 (1) 算法思想: 定义一个大小为N的数组,初始化为0.在遍历链表的同时将数组中索引值为节点的值的绝对值的元素置1.如果此元素已经为1,说明此节点之前已经有及此节点的值的绝对值相等的节点,需将此节点删除。 (2) 节点的数据构造定义如下: typedef struct Node Int data; Struct Node * next; }Node; (3) int a[n]; // 全局数组 标志节点的绝对值的值是否出现过 void DeleteABSEqualNode(Node * head) memset(a,0,n); // 初始化为0 if (head == NULL) return NULL; Node * p = head; Node * r = head; while (p != NULL) if (a[abs(p->data)] == 1) //如果此绝对值已经在节点值的绝对值中出现过 { //那么删除当前节点 r->next = p->next; delete p; p = r->next; else //否那么,将数组中对应的元素置1,并将指针指向下一个元素 a[abs(p->data)] = 1; r = p; p = p->next; return head; (4) 只遍历一次链表,所以时间复杂度为O(n), 因为申请大小为n的数组,所以空间复杂度为O(n),〔n为节点绝对值的最大值〕。 【考察知识点】链表的操作。 42. 有5个顶点的图G如以下图所示 请答复以下问题 (1) 写出图G的邻接矩阵A(行、列下标从0开场) (2) 求A2,矩阵A2中位于0行3列元素值的含义是什么? (3) 假设具有n(n>=2)个顶点的邻接矩阵为B,那么Bm(2<=m<=n)非零元素的含义是什么? 【参考答案】 (1)邻接矩阵为 〔2〕 0行3列的元素的含义是顶点0到顶点3的最短距离为2. 〔3〕Bm中非零元素的含义是:假设此顶点位于i行j列,如果i==j,那么表示i顶点到自己的距离为0;如果i≠j,那么表示顶点i到达不了顶点j。 【考察知识点】邻接矩阵的概念,最短路径。 43. 〔13分〕某16位计算机主存按字节编码。存取单位为16位;采用16位定长指令格式;CPU采用单总线构造,主要局部如以下图所示。图中R0~R3为通用存放器;T为暂存器;SR为移位存放器,可实现直送(mov)、左移一位(left)、右移一位(right)3种操作,控制信号为Srop,SR的输出信号Srout控制;ALU可实现直送A(mova)、A加B(add)、A减B(sub)、A及B(and)、A或B(or)、非A(not)、A加1(inc)7种操作,控制信号为ALUop。 请答复以下问题。 (1) 图中哪些存放器是程序员可见的?为何要设置暂存器T? (2) 控制信号ALUop与SRop的位数至少各是多少? (3) 控制信号Srout所控制邮件的名称或作用是什么? (4) 端点①~⑨中,哪些端点须连接到控制部件的输出端? (5) 为完善单总线数据通路,需要在端点①~⑨中相应的端点之间添加必要的连线。写出连线的起点与终点,以正确表示数据的流动方向。 (6) 为什么二路选择器MUX的一个输入端是2? 【参考答案】 (1) 图中程序员可见的存放器有通用存放器R0~R3与程序计数器PC;设置暂存器T用于暂存数据总线发送的数据。 (2) ALUop与SRop的位数分别为3,2。 (3) Srout所控制的部件作用是控制计算机运算结果的输出。 (4) 须连接到控制部件的输出端端点有①②③⑤⑧。 (5) 使PC自增2以获取下一条指令地址。 【考察知识点】存放器相关概念及存放器的操作,单总线构造 44. 〔10分〕题43中描述的计算机,其局部指令执行过程的控制信号如如题44图a所示。 题44图a 局部指令控制信号 该机指令格式如题44图b所示,支持存放器直接与存放器间接两种寻址方式,寻址方式位分别为0与1,通用存放器R0~R3的编号分别为0、1、2与3。 题44图b 指令格式 请答复以下问题。 (1) 该机的指令系统最多可定义多少条指令? (2) 假定inc、shl与sub指令的操作码分别为01H、02H与03H,那么以下指令对应的机 器代码各是什么? ③ inc R1 ; R1 + 1→R1 ④ shl R2,R1 ; (R1) << 1→R2 ③ sub R3, (R1),R2 ; ((R1)) – (R2) → R3 (3) 假定存放器X的输入与输出控制信号分别为Xin与Xout,其值为1表示有效,为0表示无效〔例如,PCout=1 表示PC内容送总线〕;存储器控制信号为MEMop,用于控制存储器的读(read〕与写(write)操作。写出题44图a中标号①⑧处的控制信号或控制信号的取值。 (4) 指令“sub R1,R3,(R2)〞与“inc R1〞的执行阶段至少各需要多少个时钟周期? 【参考答案】 (1) 128 (2) ① 0280H,② 04A8H,③ 06EEH (3) ① 0,② mov,③ mova,④ left,⑤ read,⑥ sub,⑦mov,⑧ Srout。 (4) 至少各需要8与7个时钟周期。 【考察知识点】指令的格式及寻址方式,指令执行过程 45. 有A、B两人通过信箱进展辩论,每人都从自己的信箱中取得对方的问题。将答案与向对方提出的新问题组成一个邮件放入对方的邮箱中,设A的信箱最多放M个邮件,B的信箱最多放 N个邮件。初始时A的信箱中有x个邮件〔0<x<M〕. B 中有y个〔0<y<N〕。辩论者每取出一个邮件,邮件数减1. A、B两人操作过程: Code Begin A{ While(TRUE){ 从A的信箱中取出一个邮件; 答复以下问题并提出一个新问题; 将新邮件放入B的信箱; B{ While(TRUE){ 从B的信箱中取出一个邮件; 答复以下问题并提出一个新问题; 将新邮件放入A的信箱; Code End 当信箱不为空时,辩论者才能从信箱中取邮件,否那么等待。 当信箱不满时,辩论者才能将新邮件放入信箱,否那么等待。 请添加必要的信号量与P、V〔或wait, signed〕操作,以实现上述过程的同步,要求写出完整过程,并说明信号量的含义与初值。 【参考答案】 Semaphore mutexA=1; Semaphore mutexB=1; Semaphore emptyA=M; Semaphore emptyB=N; Semaphore fullA=0; Semaphore fullB=0; Code Begin A{ While(TRUE){ P(fullA); P(mutexA) Get a mail from A_mailbox; V(mutexA); V(fullA); Answer the question and raise a question; P(emptyB); P(mutexB) send the mail to B; V(mutexB); V(emptyB); B{ While(TRUE){ P(fullB); P(mutexB) Get a mail from B_mailbox; V(mutexB); V(fullB); Answer the question and raise a question; P(emptyA); P(mutexA) send the mail to A; V(mutexA); V(emptyA); Code End 【考察知识点】 考察了利用信号量进程同步问题。 第 29 页
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服