2018年12月考研的408试题,本篇为小题部分,大题见下一篇。

声明:

  • 0x和0b分别表示十六进制数和二进制数,其余为十进制数。
  • 0y和0c分别表示十六进制形式补码和二进制形式补码。
  • exp()和log()分别是以2为底的指数和对数,exp10()以10为底。
  • 乘除号用最朴素的×÷,分数用/,⌊⌋⌈⌉分别是向上向下取整。
  • 参与计算的英文字母变量用手写体。
  • 对原题一些容易误会的文字做了修改。
  • 图片使用亿图图示等绘制。

一、单项选择:

第1~40小题,每小题2分,共80分。

DataStructure

🤓✍️「1」、设n是描述问题规模的正整数,下列程序段的时间复杂度是()?

int x = 0;
while (n >= (x + 1) * (x + 1))
x = x + 1;
  • A‣𝜪(log(n))
  • B‣𝜪(√n)
  • C‣𝜪(n)
  • D‣𝜪(n^2)
【B】简单题。n与x^2相关。

🤓✍️「2」、若将一棵普通树T转化为对应的二叉树B,则下列对B的遍历中,其遍历序列与T的后根遍历序列相同的是()?

  • A‣先序遍历
  • B‣中序遍历
  • C‣后序遍历
  • D‣层序遍历
【B】特殊值法,如下图👇。

🤓✍️「3」、对𝓃个互不相同的符号进行哈夫曼编码。若生成的哈夫曼树共有115个结点,则𝓃的值是()?

  • A‣56
  • B‣57
  • C‣58
  • D‣60
【C】哈夫曼树只有度为0和度为2的结点,𝓃就是度为0的结点数,度为2的结点数有𝓃-1个,𝓃+𝓃-1=115 ⇒ 𝓃=58。

🤓✍️「4」、在任意一棵非空平衡二叉树T1中,删除某结点v之后形成平衡二叉树T2,再将v插入T2形成平衡二叉树T3。下列关于T1与T3的叙述中,正确的是()?

Ⅰ꙳若v是T1的叶结点,则T1与T3可能不相同。
Ⅱ꙳若v不是T1的叶结点,则T1与T3一定不同。
Ⅲ꙳若v不是T1的叶结点,则T1与T3一定相同。

  • A‣Ⅰ,
  • B‣Ⅱ,
  • C‣Ⅰ,Ⅱ,
  • D‣Ⅰ,Ⅲ,
【A】举例说明。

🤓✍️「5」、下图所示的AOE网表示一项包含8个活动的工程。活动d的最早开始时间和最迟开始时间分别是()?



  • A‣3,7,
  • B‣12,12,
  • C‣12,14,
  • D‣15,15,
【C】按照关键路径的算法。

🤓✍️「6」、用有向无环图描述表达式(𝓍+𝓎)×((𝓍+𝓎)÷𝓍),需要的顶点个数至少是()?

  • A‣5
  • B‣6
  • C‣8
  • D‣9
【A】如下图👇。

🤓✍️「7」、选择一个排序算法时,除算法的时空效率,下列因素中,还需要考虑的是()?

Ⅰ꙳数据的规模   Ⅱ꙳数据的存储方式   Ⅲ꙳算法的稳定性   Ⅳ꙳数据的初始状态

  • A‣Ⅲ,
  • B‣Ⅰ,Ⅱ,
  • C‣Ⅱ,Ⅲ,Ⅳ,
  • D‣Ⅰ,Ⅱ,Ⅲ,Ⅳ,
【D】Ⅰ꙳规模超大要使用外部排序。Ⅱ꙳链式存储不适合用堆排序。Ⅲ꙳稳定性是要考虑的。Ⅳ꙳数据初始基本有序适合用简单排序。

🤓✍️「8」、现有长度为11且初始为空的散列表H,散列函数是𝒉(𝓀ℯ𝓎)=𝓀ℯ𝓎%7,采用线性探查法解决冲突。将关键字序列87,40,30,6,11,22,98,20依次插入H后,H查找失败的平均查找长度是()?

  • A‣4
  • B‣5.25
  • C‣6
  • D‣6.29
【C】散列表如下👇,查找失败的,根据最终落空时的比较次数来计算,散列函数的返回结果只能在0~6,ASL_fail=(9+8+7+6+5+4+3)÷7=6。

🤓✍️「9」、设主串T="abaabaabcabaabc",模式串S="abaabc",采用KMP算法进行模式匹配,到匹配成功时为止,在匹配过程中进行的单个字符间的比较次数是()?

  • A‣9
  • B‣10
  • C‣12
  • D‣15
【B】匹配过程如下图所示👇。

🤓✍️「10」、排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一趟。下列序列中,不可能是快速排序第二趟结果的是()?

  • A‣5,2,16,12,28,60,32,72,
  • B‣2,16,5,28,12,60,32,72,
  • C‣2,12,16,5,28,32,72,60,
  • D‣5,2,12,28,16,32,72,60,
【D】若第一趟将初始序列划分为了两个子序列,则第二趟要在前后两个子序列中各选出1个枢轴,如下图所示👇。

🤓✍️「11」、设外存上有120个初始归并段,进行12路归并时,为实现最佳归并,需要补充的虚段个数是()?

  • A‣1
  • B‣2
  • C‣3
  • D‣4
【B】最佳归并树即哈夫曼树,12叉,设需补充𝓀个叶结点,(120-1+𝓀)必须能整除(12-1),𝓀=2。

ComputerOrganization

🤓✍️「12」、下列关于冯·诺依曼结构计算机基本思想的叙述中,错误的是()?

  • A‣程序的功能都通过中央处理器执行指令实现。
  • B‣指令和数据都用二进制数表示,形式上无差别。
  • C‣指令按地址访问,数据都在指令中直接给出。
  • D‣程序执行前,指令和数据需预先存放在存储器中。
【C】操作数可以在指令中直接给出,叫立即数;也可以去寄存器取,也可以去主存取。

🤓✍️「13」、考虑以下C语言代码,执行上述程序段后,si的值是()?

unsigned short usi = 65535;
short si = usi;
  • A‣-1
  • B‣-32767
  • C‣-32768
  • D‣-65535
【A】usi的机器数0xFFFF,si也是此机器数,但是按补码解析为-1。

🤓✍️「14」、下列关于缺页处理的叙述中,错误的是()?

  • A‣缺页是在地址转换时CPU检测到的一种异常。
  • B‣缺页处理由操作系统提供的缺页处理程序来完成。
  • C‣缺页处理程序根据页故障地址从外存读入所缺失的页。
  • D‣缺页处理完成后回到发生缺页的指令的下一条指令执行。
【D】缺页处理完成后回到当前访存指令继续执行。

🤓✍️「15」、某机器采用大端方式,按字节编址。某指令中操作数的机器数为0x1234FF00,该操作数采用基址寻址方式,形式地址用补码表示为0yFF12,基址寄存器的内容为0xF0000000,则该操作数的最低有效字节所在的地址是()?

  • A‣0xF000 FF12
  • B‣0xF000 FF15
  • C‣0xEFFF FF12
  • D‣0xEFFF FF15
【D】大端方式适合人类阅读。补码符号位扩展,真值不变。操作数第一字节0x12所在地址是0xF0000000+0yFF12=0xF0000000+0yFFFFFF12=0xEFFFFF12。

🤓✍️「16」、下列有关处理器时钟脉冲信号的叙述中,错误的是()?

  • A‣时钟脉冲信号由机器脉冲源发出的脉冲信号经整形和分频后形成。
  • B‣时钟脉冲信号的宽度称为时钟周期,时钟周期的倒数为机器主频。
  • C‣时钟周期以相邻状态单元间组合逻辑电路的最大延迟为基准确定。
  • D‣处理器总是在每来一个时钟脉冲信号时就开始执行一条新的指令。
【D】一条指令周期含若干机器周期,一个机器周期又含若干时钟周期,选项D明显错误。

🤓✍️「17」、某指令功能为R[r2]←R[r1]+M[R[r0]],其两个源操作数分别采用寄存器立即·寄存器间接寻址方式。对于下列给定部件,该指令在取数及执行过程中需要用到的是()?

Ⅰ꙳通用寄存器组GPRs   Ⅱ꙳算术逻辑单元ALU   Ⅲ꙳主存储器Memory   Ⅳ꙳指令译码器ID

  • A‣Ⅰ,Ⅱ,
  • B‣Ⅰ,Ⅱ,Ⅲ,
  • C‣Ⅱ,Ⅲ,Ⅳ,
  • D‣Ⅰ,Ⅲ,Ⅳ,
【B】指令译码器的作用是翻译操作码,向控制单元提供信号,取数和执行阶段用不到,其余的明显都用到。

🤓✍️「18」、在采用“取指·译码\取数·执行·访存·写回”5段流水线的处理器中,执行如下指令序列,其中s0,s1,s2,s3,t2表示寄存器编号,下列指令对中,不存在数据冒险的是()?

I1: add s2, s1, s0          ; R[s2]←R[s1]+R[s0]
I2: load s3, 0(t2) ; R[s3]←M[R[t2]+0]
I3: add s2, s2, s3 ; R[s2]←R[s2]+R[s3]
I4: store s2, 0(t2) ; M[R[t2]+0]←R[s2]
  • A‣I1和I3
  • B‣I2和I3
  • C‣I2和I4
  • D‣I3和I4
【C】选项ABD皆有写后读的数据冒险。

🤓✍️「19」、假定一台计算机采用3通道存储器总线,配套的内存条型号为DDR3-1333,即内存条所接插的存储器总线的工作频率为1333MHz,总线宽度为64位,则存储器总线的总带宽大约是()?

  • A‣10.66GBps
  • B‣32GBps
  • C‣64GBps
  • D‣96GBps
【B】64b×3×1333MHz=32GBps。

🤓✍️「20」、下列关于磁盘存储器的叙述中,错误的是()?

  • A‣磁盘的格式化容量比非格式化容量小。
  • B‣扇区中包含数据·地址·校验等信息。
  • C‣磁盘存储器的最小读写单位为一字节。
  • D‣磁盘存储器由磁盘控制器·磁盘驱动器·盘片组成。
【C】选项BD是概念。选项A,格式化要往磁盘里写信息。选项C,磁盘最小读写单位为一扇区。

🤓✍️「21」、某设备以中断方式与CPU进行数据交换,CPU主频为1GHz,设备接口中的数据缓冲寄存器为32b,设备的数据传输率为50KBps。若每次中断开销为1000个时钟周期,则CPU用于该设备输入/输出的时间占整个CPU时间的百分比最多是()?

  • A‣1.25%
  • B‣2.5%
  • C‣5%
  • D‣12.5%
【C】跟18年第43题第1小问一样的做法。设备最多隔32b÷50KBps=80us请求一次中断,单次中断占用CPU的开销1000÷1GHz=1us,占比1/80=1.25%。

🤓✍️「22」、下列关于DMA方式的叙述中,正确的是()?

Ⅰ꙳DMA传送前由设备驱动程序设置传送参数。
Ⅱ꙳数据传送前由DMA控制器请求总线使用权。
Ⅲ꙳数据传送由DMA控制器直接控制总线完成。
Ⅳ꙳DMA传送结束后的处理由中断服务程序完成。

  • A‣Ⅰ,Ⅱ,
  • B‣Ⅰ,Ⅲ,Ⅳ,
  • C‣Ⅱ,Ⅲ,Ⅳ,
  • D‣Ⅰ,Ⅱ,Ⅲ,Ⅳ,
【D】概念题。

OperatingSystem

🤓✍️「23」、下列关于线程的描述中,错误的是()?

  • A‣内核级线程的调度由操作系统完成。
  • B‣操作系统为每个用户级线程建立一个线程控制块。
  • C‣用户级线程间的切换比内核级线程间的切换效率高。
  • D‣用户级线程可以在不支持内核级线程的操作系统上实现。
【B】易错题。操作系统看不见用户级线程,操作系统只会为每个内核级线程建立一个线程控制块,用户级线程与内核级线程的对接方式有:一对一·多对多·多对多。

🤓✍️「24」、下列选项中,可能会将进程唤醒的事件是()?

Ⅰ꙳I/O结束     Ⅱ꙳某进程退出临界区     Ⅲ꙳当前进程的时间片用完

  • A‣Ⅰ,
  • B‣Ⅲ,
  • C‣Ⅰ,Ⅱ,
  • D‣Ⅰ,Ⅱ,Ⅲ,
【C】易错题。唤醒是由阻塞态到就绪态,多是像Ⅰ꙳Ⅱ꙳一样可以获取资源了。Ⅲ꙳当前进程由执行态到就绪态,而另一进程由就绪态到执行态。

🤓✍️「25」、下列关于系统调用的叙述中,正确的是()?

Ⅰ꙳在执行系统调用服务程序的过程中,CPU处于内核态。
Ⅱ꙳操作系统通过提供系统调用避免用户程序直接访问外设。
Ⅲ꙳不同的操作系统为应用程序提供了统一的系统调用接口。
Ⅳ꙳系统调用是操作系统内核为应用程序提供服务的接口。

  • A‣Ⅰ,Ⅳ,
  • B‣Ⅱ,Ⅲ,
  • C‣Ⅰ,Ⅱ,Ⅳ,
  • D‣Ⅰ,Ⅲ,Ⅳ,
【C】很明显,不同的操作系统,如Android和iOS,系统调用接口是不一样的。

🤓✍️「26」、下列选项中,可用于文件系统管理空闲磁盘块的数据结构是()?

Ⅰ꙳位图     Ⅱ꙳索引结点     Ⅲ꙳空闲磁盘块链     Ⅳ꙳文件分配表

  • A‣Ⅰ,Ⅱ,
  • B‣Ⅰ,Ⅲ,Ⅳ,
  • C‣Ⅰ,Ⅲ,
  • D‣Ⅱ,Ⅲ,Ⅳ,
【B】索引结点是管理单个文件的。

🤓✍️「27」、系统采用二级反馈队列调度算法进行进程调度。①就绪队列Q1采用时间片轮转调度算法,时间片为10ms;②就绪队列Q2采用短进程优先调度算法;③系统优先调度Q1中的进程,当Q1为空时系统才会调度Q2中的进程;④新创建的进程首先进入Q1;⑤Q1中的进程执行一个时间片后,若未结束则转入Q2。若当前Q1,Q2为空,系统依次创建进程P1,P2后即开始进程调度,P1,P2需要的CPU时间分别为30ms,20ms,则进程P1,P2在系统中的平均等待时间为()?

  • A‣25ms
  • B‣20ms
  • C‣15ms
  • D‣10ms
【C】过程是这样的:初始P1,P2在Q1中,❶P1运行10ms转入Q2,P2等待10ms;❷P2运行10ms转入Q2,P1等待10ms;❸P2运行10ms结束,P1等待10ms;❹P1运行20ms结束。平均等待(10+10+10)÷2=30。

🤓✍️「28」、在分段存储管理系统中,用共享段表描述所有被共享的段。若进程P1,P2共享段S,下列叙述中,错误的是()?

  • A‣在物理内存中仅保存一份段S的内容。
  • B‣段S在P1,P2中应该具有相同的段号。
  • C‣P1,P2共享段S在共享段表中的段表项。
  • D‣P1,P2都不再使用段S时才回收段S所占的内存空间。
【B】段S在P1,P2中的逻辑段号可以不同。

🤓✍️「29」、某系统釆用LRU页面置换算法和局部置换策略,若系统为进程P预分配了4个页框,进程P访问页面号的序列为0,1,2,7,0,5,3,5,0,2,7,6,则进程访问上述页的过程中,产生页面置换的总次数是()?

  • A‣3
  • B‣4
  • C‣5
  • D‣6
【C】如下图,共5次。

🤓✍️「30」、下列关于死锁的叙述中,正确的是()?

Ⅰ꙳可以通过剥夺进程资源解除死锁。   Ⅱ꙳死锁的预防方法能确保系统不发生死锁。
Ⅲ꙳银行家算法可以判断系统是否处于死锁状态。
Ⅳ꙳当系统出现死锁时,必然有两个或两个以上的进程处于阻塞态。

  • A‣Ⅱ,Ⅲ,
  • B‣Ⅰ,Ⅱ,Ⅳ,
  • C‣Ⅰ,Ⅱ,Ⅲ,
  • D‣Ⅰ,Ⅲ,Ⅳ,
【B】银行家算法用于判断系统是否会死锁。

🤓✍️「31」、某计算机主存按字节编址,采用二级分页存储管理,地址结构为:[页目录号10位|页面号10位|页内偏移12位],虚拟地址0x2050 1225对应的页目录号·页面号分别是()?

  • A‣0x081,0x101,
  • B‣0x081,0x401,
  • C‣0x201,0x101,
  • D‣0x201,0x401,
【A】0x20501=0b 0010000001 0100000001

🤓✍️「32」、在下列动态分区分配算法中,最容易产生内部碎片的是()?

  • A‣首次适应算法
  • B‣最坏适应算法
  • C‣最佳适应算法
  • D‣循环首次适应算法
【C】最佳适应,大多数情况下空闲分区的大小稍大于当前要求的大小,几乎每次分配都会产生内部碎片。

ComputerNetWork

🤓✍️「33」、OSI七层参考模型的自下而上第5层完成的主要功能是()?

  • A‣差错控制
  • B‣路由选择
  • C‣会话管理
  • D‣数据表示转换
【C】简单题。第5层是会话层。

🤓✍️「34」、100BaseT快速以太网使用的导向传输介质是()?

  • A‣双绞线
  • B‣单模光纤
  • C‣多模光纤
  • D‣同轴电缆
【C】概念题。100:传输速率100Mbps;Base:采用基带传输,T:双绞线介质。

🤓✍️「35」、对于滑动窗口协议,若分组序号采用3比特编号,发送窗口大小为5,则接收窗口最大是()?

  • A‣2
  • B‣3
  • C‣4
  • D‣5
【B】SW协议中:SWND=RWND=1;GBN协议中:1<SWND<exp(3)-1,RWND=1;SR协议中,SWND+RWND≤exp(3),RWND≤SWND。

🤓✍️「36」、假设一个采用CSMA/CD协议的100Mbps局域网,最小帧长是128B,则在一个冲突域内两个站点之间的单向传播时延最多是()?

  • A‣2.56us
  • B‣5.12us
  • C‣10.24us
  • D‣20.48us
【B】128B÷100Mbps÷2=5.12us。

🤓✍️「37」、若将101.200.16.0/20划分为5个子网,尽量不浪费,则子网最少可分配的IP地址数是()?

  • A‣126
  • B‣254
  • C‣510
  • D‣1022
【B】易错题。采用变长子网划分,类似前缀编码。

🤓✍️「38」、客户端通过一个TCP连接向服务器发送数据的部分过程如下图👇。客户端在t0时刻第一次收到确认序列号ack_seq=100的段,并发送序列号seq=100的段,但发生丢失。若TCP支持快速重传,则客户端重新发送seq=100段的时刻是()?

  • A‣t1
  • B‣t2
  • C‣t3
  • D‣t4
【C】3个重复确认,立即重传。

🤓✍️「39」、若主机甲主动发起一个与主机乙的TCP连接,甲乙选择的初始序列号分别为2018和2046,则第三次握手TCP段的确认序列号是()?

  • A‣2018
  • B‣2019
  • C‣2046
  • D‣2047
【D】回顾TCP三次握手过程。

🤓✍️「40」、下列关于网络应用模型的叙述中,错误的是()?

  • A‣在P2P模型中,节点之间具有对等关系。
  • B‣在客户——服务器模型中,客户与客户之间可以直接通信。
  • C‣在C-S模型中,主动发起通信的是客户,被动通信的是服务器。
  • D‣在向多用户分发一个文件时,P2P模型通常比C-S模型所需的时间短。
【B】C-S模型中,客户与客户之间的通信得经过服务器。
最后修改于:2024年09月26日
如果觉得我的文章对你有用请狠狠地打赏我