
北京航空航天大学计算机学院《961计算机学科专业基础综合》历年考研真题汇编合集.docx
300页目 录2007年北京航空航天大学计算机学院461计算机专业综合考研真题2008年北京航空航天大学计算机学院961计算机专业综合考研真题2009年北京航空航天大学计算机学院408计算机学科专业基础综合真题及详解2010年北京航空航天大学计算机学院408计算机学科专业基础综合真题及详解2011年北京航空航天大学计算机学院408计算机学科专业基础综合真题及详解2012年北京航空航天大学计算机学院408计算机学科专业基础综合真题及详解2013年北京航空航天大学计算机学院408计算机学科专业基础综合真题及详解2014年北京航空航天大学计算机学院408计算机学科专业基础综合真题及详解2015年北京航空航天大学计算机学院961计算机学科专业基础综合真题2016年北京航空航天大学计算机学院961计算机学科专业基础综合真题 2007年北京航空航天大学计算机学院461计算机专业综合考研真题 2008年北京航空航天大学计算机学院961计算机专业综合考研真题 2009年北京航空航天大学计算机学院408计算机学科专业基础综合真题及详解一、单项选择题:1~40小题,每小题2分,共80分。
下列每题给出的四个选项中只有一个选项是最符合题目要求的1 为解决计算机主机与打印机之间速度不匹配问题,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据该缓冲区的逻辑结构应该是( )A.栈B.队列C.树D.图【答案】B【解析】这类问题一般都先分析题目中的数据具有什么操作特性或是结构特性比如“先进后出”“先进先出”等再判断其逻辑结构栈和队列是操作受限的线性表,栈具有先进后出的特性而队列具有先进先出的特性由于本题中先进入打印数据缓冲区的文件先被打印,因此打印数据缓冲区具有先进先出性,则它的逻辑结构应该是队列2 设栈S和队列Q的初始状态均为空,元素a,b,c,d,e,f,g依 次进入栈S若每个元素出栈后立即进入队列Q,且7个元素出队的顺序是b,d,c,f,e,a,g,则栈S的容量至少是( )A.1B.2C.3D.4【答案】C【解析】由于栈具有先进后出的特性,队列具有先进先出的特性,出队顺序即为人队顺序在本题中,每个元素出栈S后立即进入队列Q,出栈顺序即为入队顺序,所以本题中队列的作用形同虚设,根据题意出队顺序即为出栈顺序根据出栈顺序可以分析各个元素进出栈的过程:第一个出栈元素为b,表明栈内还有元素a,b出栈前的深度为2;第二个出栈元素为d,栈内元素为a和c,d出栈前的深度为3;c出栈后,剩余元素为a,c出栈前的深度为2;f出栈后,剩余元素为a和e,f出栈前的深度为3;e出栈后,剩余元素为a,e出栈前的深度为2;a出栈后,无剩余元素,a出栈前的深度为1;g出栈后,无剩余元素,g出栈前的深度为1。
所以栈容量至少是33 给定二叉树如下图所示设N代表二叉树的根,L代表根结点的左子树,R代表根结点的右子树若遍历后的结点序列为3,1,7,5,6,2,4,则其遍历方式是( )A.LRNB.NRL C.RLND.RNL【答案】D【解析】对“二叉树”而言,一般有三条搜索路径:① 先上后下的按层次遍历;② 先左(子树)后右(子树)的遍历;③ 先右(子树)后左(子树)的遍历其中第1种搜索路径方式就是常见的层次遍历,第2种搜索路径方式包括常见的先序遍历NLR、中序遍历LNR、后序遍历LRN,第3种搜索路径方式则是不常使用的NRL、RNL、RLN本题考查的是第3种搜索路径方式的一种情况根据遍历的序列以及树的结构图,可以分析出该遍历的顺序是先右子树再跟结点最后左子树,故答案为D4 下列二叉排序树中,满足平衡二叉树定义的是( ) 【答案】B【解析】平衡二叉树是指左右子树高度差(平衡因子)的绝对值不超过1的二叉树A项中根结点的平衡因子是2;B项中每个结点的平衡因子的绝对值均不超过1;C项中根结点的平衡因子是-2;D项中根结点的平衡因子是35 已知一棵完全二叉树的第6层(设根为第1层)有8个叶结点,则该完全二叉树的结点个数最多是( )。
A.39B.52C.111D.119【答案】C【解析】完全二叉树的一个特点是:叶子结点只能出现在最下层和次下层题目中没有说明完全二叉树的高度,首先由完全二叉树的特点确定题目中树的高度根据题意,一棵完全二叉树的第6层(设根为第1层)有8个叶结点,可知此二叉树的高度是6或7题目中求二叉树的结 点数最多的情况,因此此完全二叉树的高度为7由于高度为7的完全二叉树的前6层是一棵满二叉树,根据二叉树的性质2可知,高度为6的满二叉树的结点数是26-1=63又根据二叉树的性质1可知,题目中二叉树的第6层结点数是25=32个结点,已知有8个叶子结点,那么其余32-8=24个结点均为分支结点,这些结点在第7层上最多有48个子结点(即叶子结点)所以此二叉树的结点数最多可达26-1+(25-8)×2=1116 将森林转换为对应的二叉树,若在二叉树中,结点u是结点v的父结点的父结点,则在原来的森林中,u和v可能具有的关系是( )Ⅰ.父子关系Ⅱ.兄弟关系Ⅲ.u的父结点与v的父结点是兄弟关系A.只有ⅠB.Ⅰ和ⅡC.Ⅰ和ⅢD.Ⅰ、Ⅱ和Ⅲ【答案】B【解析】首先,在二叉树中,若结点u是结点v的父结点的父结点,那么u和v的关系有如下4种情况: 接下来,根据森林与二叉树的转换规则,将这4种情况还原成森林中结点的关系。
其中:情况(1),在原来的森林中u是v的父结点的父结点;情况(2),在森林中u是v的父结点;情况(3),在森林中u是v的父结点的兄弟;情况(4),在森林中u与v是兄弟关系由此可知,题目中的Ⅰ、Ⅱ是正确的7 下列关于无向连通图特性的叙述中,正确的是( )Ⅰ.所有的顶点的度之和为偶数Ⅱ.边数大于顶点个数减1Ⅲ.至少有一个顶点的度为1A.只有ⅠB.只有ⅡC.Ⅰ和ⅡD.Ⅰ和Ⅲ 【答案】A【解析】在图中,顶点的度TD(Vi)之和与边的数目满足关系式:其中,n为图的总结点数,e为总边数因此,Ⅰ项正确对于Ⅱ、Ⅲ项中的特性不是一般无向连通图的特性,可以轻松地举出反例至少有一个顶点的度为1”的反例如下图(1)所示,“边数大于顶点个数减1”的反例如下图(2)所示1)(2)8 下列叙述中,不符合m阶B树定义要求的是( )A.根结点最多有m棵子树B.所有叶结点都在同一层上C.各结点内关键字均升序或降序排列D.叶结点之间通过指针链接 【答案】D【解析】B树就是指B-树根据B-树的定义,m阶B-树中每个结点最多有m个分支,因此,根结点最多有m棵子树,A项正确;B-树中所有叶结点都在最底层,位于同一层,B项正确;结点内各关键字互不相等且有序排列,C项正确。
但是,所有叶子结点之间通过指针链接,是B+树的定义,而B-树中没有因此,D项是错误的9 已知关键字序列5,8,12,19,28,20,15,22是小根堆(最小堆),插入关键字3,调整后的小根堆是( )A.3,5,12,8,28,20,15,22,19B.3,5,12,19,20,15,22,8,28C.3,8,12,5,20,15,22,28,19D.3,12,5,8,28,20,15,22,19【答案】A【解析】在堆中插入或删除一个元素后,将不再满足堆的性质为了使其成为新堆,在输出堆顶元素后,需要调整剩余元素具体过程如图(1)~(5)所示,(1)为原堆,(2)为插入3后,(3)、(4)为调整过程,(5)为调整后的小根堆 10 若数据元素序列11,12,13,7,8,9,23,4,5是采用下列排序方法之一得到的第二趟排序后的结果,则该排序算法只能是( )A.起泡排序B.插入排序C.选择排序D.二路归并排序【答案】B【解析】经过两趟排序后,A项起泡排序的结果是两个最小或最大的元素放到了序列的最终位置;B项插入排序的结果是前三个数有序即可;C项选择排序结果是两个最小的元素在最前面按顺序排好;D项二路归并排序的结果是长度为4的子序列有序,即前4个数排好序,接下来的4个数排好序。
显然题目中的元素序列只能是插入排序第二趟排序后的结果,因此,B项正确11 冯·诺依曼计算机中指令和数据均以二进制形式存放在存储器中,CPU区分它们的依据是( )A.指令操作码的译码结果B.指令和数据的寻址方式C.指令周期的不同阶段D.指令和数据所在的存储单元【答案】C 【解析】在冯·诺依曼结构计算机中指令和数据均以二进制形式存放在同一个存储器中,CPU可以根据指令周期的不同阶段来区分是指令还是数据,通常在取指阶段取出的是指令,其他阶段(分析取数阶段、执行阶段)取出的是数据所以,CPU区分指令和数据的依据是指令周期的不同阶段12 一个C语言程序在一台32位机器上运行程序中定义了3个变量x、Y和z,其中x和z为int型,Y为short型当x=127,Y=-9时,执行赋值语句z=x+Y后,x、Y和z的值分别是( )A.x=0000 007FH,Y=FFFF FFF9H,z=0000 0076HB.x=0000 007FH,Y=FFFF FFF9H,z=FFFF 0076HC.x=0000 007FH,Y=FFFF FFF7H,z=FFFF 0076HD.x=0000 007FH,Y=FFFF FFF7H,z=0000 0076H【答案】D【解析】当两个不同长度的数据,要想通过算术运算得到正确的结果,必须将短字长数据转换成长字长数据,这被称为“符号扩展”。
例如,x和z为int型,数据长32位,Y为short型,数据长16位,因此首先应将y转换成32位的数据,然后再进行加法运算运算采用补码的形式,而x的补码是0000 007FH,Y的补码是FFFF FFF7H,所以x+Y=00000076H13 浮点数加、减运算一般包括对阶、尾数运算、规格化、舍入和判溢出等步骤设浮点数的阶码和尾数均采用补码表示,且位数分别为5位和7位(均含2位符号位)若有两个数X=27×29/32,Y=25×5/8, 则用浮点加法计算X+Y的最终结果是( )A.0011 1110 0010B.0011 1010 0010C.0100 0001 0001D.发生溢出【答案】D【解析】浮点数加、减运算一般包括对阶、尾数运算、规格化、舍入和判溢出等步骤,难点在对阶、规格化、判溢出这三步X和Y的阶码不同,所以应该先对阶,对阶原则为:小阶向大阶看齐因此将Y对阶后得到:Y=27×5/32,然后将尾数相加,得到尾数之和为:34/32因为这是两个同号数相加,尾数大于1,则需要右规,阶码加1由于阶码的位数为5位,且含两位符号位,即阶码的表示范围在-8~+7之间而阶码本身等于7,再加1就等于8。
因此,最终结果发生溢出14 某计算机的Cache共有16块,采用。
