《考研计算机专业基础综合考试解析配套1000题》错题集
目录
数据结构部分
第一章 线性表
对于某线性表来说,主要的操作是存取任一指定序号的元素和在最后进行插入运算,那么应该选择()存储方式最节省时间。
A. 顺序表
B. 双链表
C. 带头结点的双循环链表
D. 单循环链表【错选】D
【答案】A
【分析】线性表中要想最省时间地存取某一指定序号的元素,那么就要利用顺序表这种存储方式。但顺序表不利于插入和删除运算,可是题目中强调是在最后进行插入运算,因此,本题最适合的选项是顺序表。若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为()(1≦i≦n+1)。
A. O(0)
B. O(1)
C. O(n)
D. O(n²)【错选】D
【答案】C
【分析】顺序存储的线性表插入元素时需要从插入位置开始向后移动元素,腾出位置以便插入,平均移动次数为(n+1)/2,所以时间复杂度为O(n)。线性表(?₁,?₂,...,??)以链式存储方式存储时,访问第i位置元素的时间复杂度为()。
A. O(i)
B. O(1)
C. O(n)
D. O(i-1)【错选】A
【答案】C
【分析】链式存储的线性表访问第i个位置的元素时需要从头开始向后查找,平均查找次数为(n+1)/2,所以时间复杂度为O(n)。双向链表中有两个指针域,即prior和next,分别指向前驱及后继,设p指向链表中的一个结点,q指向一个待插入结点,现要求在p前插入q,则正确的插入为()。
A. p->prior=q;q->next=p;p->prior->next=q;q->prior=p->prior;
B. q->prior=p->prior;p->prior->next=q;q->next=p;p->prior=q;
C. q->next=p;p->next=q;p->prior->next=q;q->next=p;
D. p->prior->next=q;q->next=p;q->prior=p->prior;p->prior=q;
【错选】C
【答案】A
【分析】在p前插入,要修改p的prior指针、p的prior所指结点的next指针,所以选A。B、C、D都将使地址丢失,连接失败。静态链表中指针表示的是()。
A. 内存地址
B. 数组下标
C. 下一元素数组下标
D. 左、右孩子地址【错选】A
【答案】C
【分析】静态链表中指针表示的是下一元素的数组下标。以下与数据的存储结构无关的术语是()。
A. 循环队列
B. 链表
C. 哈希表
D. 栈【错选】C
【答案】D
【分析】循环队列、链表、哈希表均为物理结构即数据的存储结构,而栈是逻辑结构。
第二章 栈、队列和数组
若循环队列以数组Q[0...m-1]作为其存储结构,变量rear表示循环队列中的队尾元素的实际位置,其移动按rear=(rear+1)MODm进行,变量length表示当前循环队列中的元素个数,则循环队列的队首元素的实际位置是()。
A. rear-length
B. (rear-length+m)MODm
C. (rear-length+1+m)MODm
D. m-length
【错选】B
【答案】C
【分析】按照循环队列的定义,因为元素移动按照rear=(rear+1)MODm进行,则当数组Q[0...m-1]存放了元素之后,下一个入队的元素将存放到Q[0]中,因此队列的首元素的实际位置是(rear-length+1+m)MODm。一个以向量V[n]存储的栈,其初始栈顶指针top为n+1,则对于x,其正确的进栈操作是()。
A. top=top+1;V[top]=x
B. V[top]=x;top=top+1
C. top=top-1;V[top]=x
D. V[top]=x;top=top-1
【错选】A
【答案】C
【分析】操作时要看栈顶的地址,先取得空间,再入栈。本题栈顶为n+1,应该用减法,所以选C。而D是先存入,破坏原有数据,所以错。已知输入序列为abcd,经过输出受限的双端队列后,能得到的输出序列是()。
A. dacb
B. cadb
C. dbca
D. 以上答案都不对【错选】A
【答案】B
【分析】双端队列这一名词我还是在这道题首次遇见。输出受限的双端队列是指删除限制在一端进行,而插入允许在两端进行的队列。
分析选项A、C,输入序列为abcd,输出序列为dacb,由输出受限性质可知以da开头的结果只有dabc,错误;
分析选项B,输入序列为abcd,输出序列为cadb,其输入输出顺序为:先在输出端输入a,然后在非输出端输入b,这时队列中的序列为ba。再在输出端输入c,这时队列中的序列为bac;输出c,再输出a;再在输出端输入d,这时队列中的序列为bd;输出d,再输出b。最后得到输出序列为cadb。为了处理参数及返回地址,在递归过程或函数调用时,要用一种称为()的数据结构。
A. 队列
B. 多维数组
C. 栈
D. 线性表【错选】A
【答案】C
【分析】要处理参数及返回地址,需要后进先出规则,即要用到栈。队列是先进先出规则,多维数组是普通的存储结构,线性表是普通的逻辑结构。
第三章 树与二叉树
树是结点的有限集合,一棵树中()根结点。
A. 有0个或1个
B. 有0个或多个
C. 有且只有一个
D. 有1个或1个以上【错选】A
【答案】C
【分析】根据树的基本定义可知,每个树只能有且只有一个根结点。已知一棵二叉树,共有n个结点,那么此二叉树的高度为()。
A. n㏒₂n
B. ㏒₂n
C. ⎣㏒₂n⎦+1
D. 不确定【错选】C
【答案】D
【分析】二叉树的形式没有给出,高度不能确定。()的遍历仍需要栈的支持。
A. 前序线索树
B. 中序线索树
C. 后序线索树
D. 中序线索树和前序线索树【错选】D
【答案】C
【分析】后序遍历先访问子树后访问根结点,从本质上要求运行栈中存放祖先的信息,即使对二叉树进行后续线索化,仍然不能脱离栈的支持对此二叉树进行遍历。已知某哈夫曼树的度为m,其中叶结点个数为n,那么非叶结点的个数为()。
A. m-1
B. ⎣n/m-1⎦
C. ⎡(n-1)/(m-1)⎤
D. ⎡n/(m-1)-1⎤【错选】A
【答案】C
【分析】设度为m的结点个数为x,则m*x+1=x+n⇒x=⎡(n-1)/(m-1)⎤。一棵哈夫曼树共有99个结点,对其进行哈夫曼编码,共能得到()种不同的编码。
A. 48
B. 50
C. 99
D. 100【错选】D
【答案】B
【分析】哈夫曼树中只有度为2和度为0度结点,哈夫曼编码是对哈夫曼树中的叶子结点编码。根据树的性质N₀=N₂+1,故N₀=(N₂+N₀+1)/2=(99+1)/2=50,哈夫曼树共有50个叶子结点,所以能得到50个不同的码字。一棵含有n个结点的k叉树,可能达到的最大深度为(),最小深度为()。
A. n-k+1,㏒kn+1
B. n,㏒kn+1
C. n,㏒kn-1
D. n-k+1,㏒kn+1
【错选】B
【答案】A
【分析】当k叉树中只有一个层的分支数为n,其他层的分支数均为1时,此时的树具有最大的深度为n-k+1。当该k叉树为完全k叉树时,其深度最小,其深度为㏒kn+1。在线索二叉树中,结点*p没有左子树的充要条件是()。
A. p->lchild==NULL
B. p->ltag==1
C. p->ltag==1且p->lchild==NULL
D. 以上都不对
【错选】C
【答案】B
【分析】没有左孩子时指针域指向线索,即p->ltag=1。
如果T1是由有序树T转换而来的二叉树,那么T中结点的前序遍历序列就是T1中结点的()遍历序列。
A. 前序
B. 中序
C. 后序
D. 层次序【错选】B
【答案】A
【分析】参考树转换为二叉树的过程。
在图中所示的4棵二叉树中,()不是完全二叉树。
A. 图(a)
B. 图(b)
C. 图(c)
D. 图(d)
【错选】D
【答案】C
【分析】完全二叉树的定义:叶结点只能出现在最下层和次下层,并且最下面一层的结点都集中在该层最左边的若干位置。
第四章 图
判断有向图是否存在回路,除了可以利用拓扑排序方法外,还可以利用的是()。
A. 求关键路径的方法
B. 求最短路径的迪杰斯特拉方法
C. 深度优先遍历算法
D. 广度优先遍历算法
【错选】D
【答案】C
【分析】当有向图中无回路时,从某顶点出发进行深度优先遍历时,出栈道顺序(退出DFSTraverse算法)即为逆向的拓扑序列。当各边上的权值()时,BFS算法可用来解决单源最短路径问题。
A. 均相等
B. 均互不相等
C. 不一定相等
D. 不确定【错选】C
【答案】A
【分析】BFS是从根结点开始,沿着树的宽度遍历树的结点,如果所有结点均被访问,则算法终止。当各边上的权值相等时,计算边数即可。以下关于图的叙述中,正确的是()。
A. 强连通有向图的任何顶点到其他所有顶点都有弧
B. 图与树的区别在于图的边数大于或等于顶点数
C. 无向图的连通分量指无向图中的极大连通子图
D. 假设有图G={V,{E}},顶点集V'∈V,E'∈E,则V'和{E'}构成G的子图
【错选】B
【答案】C
【分析】强连通有向图的任何顶点到其他所有顶点都有路径,但未必有弧,A错误。图与树的区别是逻辑上的,而不是边数的区别,图的边数也可能小于树的边数,B错误。若E'中的边对应的顶点不是V'中的元素时,则V'和{E'}无法构成图,D错误。
假设有n个顶点e条边的有向图用邻接表表示,则删除与某个顶点v相关的所有边的时间复杂度为()。
A. O(n)
B. O(e)
C. O(n+e)
D. O(ne)【错选】B
【答案】C
【分析】先删除下标为v的顶点表结点的单链表,出边数最多为n-1,对应时间复杂度为O(n),再扫描所有边表结点,删除所有的入边,对应时间复杂度为O(e)。故总的时间复杂度为O(n+e)。
第五章 查找
当采用分块查找时,数据的组织方式为()。
A. 数据分成若干块,每块内数据有序
B. 数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块
C. 数据分成若干块,每块内数据有序,每块内最大(或最小)对数据组成索引块
D. 数据分成若干块,每块(除最后一块外)中数据个数需相同
【错选】C
【答案】B
【分析】分块查找是将数据分成若干块,块间有序,块内不必有序。二叉查找树的查找效率与二叉树的((1))有关,在((2))时其查找效率最低。
(1)A. 高度
B. 结点的多少
C. 树形
D. 结点的位置(2)A. 结点太多
B. 完全二叉树
C. 呈单枝树
D. 结点太复杂【错选】C B
【答案】C C
【分析】二叉查找树的查找效率与二叉树的树形有关,在呈单枝树排列时其查找效率最低。下面关于B树和B+树的叙述中,不正确的是()。
A. B树和B+树都是平衡的多叉树
B. B树和B+树都可用于文件的索引结构
C. B树和B+树都能有效地支持顺序检索
D. B树和B+树都能有效地支持随机检索
【错选】A
【答案】C
【分析】
采用分块查找时,若线性表中共有625个元素,查找每个元素的概率相同,假设采用顺序查找来确定结点所在的块,则每块分为()个结点最佳。
A. 9
B. 25
C. 6
D. 625【错选】D
【答案】B
【分析】分块查找时最佳块数为√625=25。在散列表上,每个地址单元所链接的同义词表的()。
A. 键值相同
B. 元素值相同
C. 散列地址相同
D. 含义相同【错选】B
【答案】C
【分析】参考同义词的定义。设哈希表长m=14,哈希函数H(key)=keymod11。表中已有4个结点addr(15)=4,addr(38)=5,addr(61)=6,addr(84)=7,其余地址为空,如用二次探测再散列法处理冲突,则关键字为49的结点的地址是()。
A. 8
B. 3
C. 5
D. 9【错选】B
【答案】D
【分析】addr(49)=49mod11=5,冲突;h1=(5+1×1)mod11=6,仍冲突;h2=(5+2×2)mod11=9,所以选D。
第六章 排序
下列排序算法中,在每一趟都能选出一个元素放到其最终位置上,并且其时间性能受数据初始特性影响的是()。
A. 直接插入排序
B. 归并排序
C. 直接选择排序
D. 堆排序【错选】C
【答案】A
【分析】下表为各种排序方法的性能比较:
排序方法 平均时间性能 最好时间性能 最坏时间性能 辅助存储空间(空间复杂度) 稳定性 复杂性 直接插入排序 O(n²) O(n) O(n²) O(1) 稳定 简单 希尔排序 O(n㏒₂n) O(n㏒₂n) O(1) 不稳定 较复杂 冒泡排序 O(n²) O(n) O(n²) O(1) 稳定 简单 快速排序 O(n㏒₂n) O(n㏒₂n) O(n²) O(n㏒₂n) 不稳定 较复杂 直接选择排序 O(n²) O(n²) O(n²) O(1) 不稳定 简单 堆排序 O(n㏒₂n) O(n㏒₂n) O(n㏒₂n) O(1) 不稳定 较复杂 归并排序 O(n㏒₂n) O(n㏒₂n) O(n㏒₂n) O(n) 稳定 较复杂 基数排序 O(d(n+radix)) O(d(n+radix)) O(d(n+radix)) O(n+r) 稳定 较复杂 注:基数排序的复杂度中,radix代表关键字的基数,d代表长度,n代表关键字的个数。
若用冒泡排序方法对序列{10,14,26,29,41,52}从大到小排序,需进行()次比较。
A. 3
B. 10
C. 15
D. 25【错选】D
【答案】C
【分析】各趟排序结果如下:
第一趟: 14 10 26 29 41 52 14 26 10 29 41 52 14 26 29 10 41 52 14 26 29 41 10 52 14 26 29 41 52 10 比较5次; 第二趟: 26 14 29 41 52 10 26 29 14 41 52 10 26 29 41 14 52 10 26 29 41 52 14 10 比较4次; 第三趟: 29 26 41 52 14 10 29 41 26 52 14 10 29 41 52 26 14 10 比较3次; 第四趟: 41 29 52 26 14 10 41 52 29 26 14 10 比较2次; 第五趟: 52 41 29 26 14 10 比较1次,结束。
∴共需进行5+4+3+2+1=15次比较。
就排序算法所用的辅助空间而言,堆排序、快速排序、归并排序的关系是()。
A. 堆排序<快速排序<归并排序
B. 堆排序<归并排序<快速排序
C. 堆排序>归并排序>快速排序
D. 堆排序>快速排序>归并排序
【错选】B
【答案】A
【分析】堆排序辅助空间为?(1),快速排序为?(㏒₂n),归并排序为?(n)。
用某种排序方法对线性表(25,84,21,47,15,27,68,35,20)进行排序时,元素序列的变化情况如下:
(1) 25,84,21,47,15,27,68,35,20
(2) 20,15,21,25,47,27,68,35,84
(3) 15,20,21,25,35,27,47,68,84
(4) 15,20,21,25,27,35,47,68,84
其所采用的排序方法是()。
A. 直接选择排序
B. 希尔排序
C. 归并排序
D. 快速排序【错选】D
【答案】A
【分析】从题给序列可以看出,每趟从无序区中找出一个最大的元素定位,应为直接选择排序。而快速排序每趟结果如下:
(1) 20 15 21 25 47 27 68 35 84
(2) 15 20 21 25 35 27 47 68 84
(3) 15 20 21 25 27 35 47 68 84
在对一组纪录(50,40,95,20,15,70,60,45,80)进行直接插入排序时,当把第7个记录60插入到有序表时,为寻找插入位置需比较()次。
A. 1
B. 2
C. 3
D. 4【错选】D
【答案】C
【分析】第6趟的结果为(15,20,40,50,70,95,60,45,80),此时插入60,要与95、70和50进行比较,共比较3次。
已知待排序的n个元素可分为n/k个组,每个组包含k个元素,且任一组内的各元素均分别大于前组内的所有元素和小于后一组内的所有元素,若采用基于比较多排序,其时间下界应为()。
A. O(n㏒₂n)
B. O(n㏒₂k)
C. O(k㏒₂n)
D. O(k㏒₂k)【错选】A
【答案】B
【分析】本题考查分块排序的思想。因组与组之间已有序,故将n/k个组分别排序即可,基于比较多排序方法每组的时间下界为O(k㏒₂k)。可以用二叉树分治形式描述,最好的情况是树的高度为㏒₂k。全部时间下界为O(n㏒₂k)。
计算机网络部分
第一章 计算机网络体系结构
在TCP/IP协议栈中,解决主机之间通信问题的是()。
A. 网络接口层
B. 网络层
C. 传输层
D. 应用层【错选】C
【答案】B
【分析】传输层解决的是不同主机用户进程之间的通信。下列关于TCP/IP参考模型的说法中,不正确的是()。
A. TCP/IP参考模型是事实上的标准
B. TCP/IP的网络接口层沿用了OSI参考模型的相应标准
C. TCP/IP参考模型的4个层次都对其协议和功能进行了描述
D. TCP/IP参考模型可以实现异构网络之间的数据通信
【错选】B
【答案】C
【分析】TCP/IP参考模型在应用层、传输层和互联网层均定义了相应的协议和功能,但是网络接口层则沿用了OSI参考模型的相应标准,并没有定义其功能、协议和实现方式。
第四章 网络层
设有4条路由:170.18.129.0/24、170.18.130.0/24、170.18.132.0/24和170.18.133.0/24,如果进行路由汇聚,能覆盖这4条路由的路由是()。
A. 170.18.128.0/21
B. 170.18.128.0/22
C. 170.18.130.0/22
D. 170.18.132.0/23
【错选】B
【答案】A
【分析】从题目和选项可以得到,前两个字节都是一样的,首先依次给出二进制表现形式:170.18.129.0/24是170.18.10000001.0/24,170.18.130.0/24是170.18.10000010.0/24,170.18.132.0/24是170.18.10000100.0/24,170.18.133.0/24是170.18.10000101.0/24,因此能够包含这4条路由的是170.18.10000000.0/21,即170.18.128.0/21。网络层的功能包括()。
I.路由选择
II.拥塞控制
III.分组转发A. 仅有I、II
B. 仅有II、III
C. 仅有II
D. 全部【错选】A
【答案】D
【分析】网络层是OSI参考模型中的第三层,它建立在数据链路层所提供的两个相邻端点之间的数据帧的传送功能之上,将数据从源端经过若干中间结点传送到目的端,从而向传输层提供最基本的端到端的数据传送服务。网络层体现了网络应用环境中资源子网访问通信子网的方式。A类网络和B类网络的子网号分别为16b和8b,这两个网络()。
A. 子网掩码一样,但子网数目不同
B. 子网掩码不同,但子网数目相同
C. 子网掩码数目和子网数目均相同
D. 子网掩码数目和子网数目均不同
【错选】D
【答案】A
【分析】若A类网络的子网为16b,那么网络号有24位,即子网掩码有24位全是1,即255.255.255.0,子网数为2^16。若B类网络的子网为8b,那么网络号有24位,即子网掩码有24位全是1,即255.255.255.0,子网数为2^8。即两者的子网掩码一样,但子网数目不同。异构网络指的是()。
A. 网络拓扑结构不同
B. 网络中计算机操作系统不同
C. 数据链路层和物理层均不同
D. 数据链路层协议相同,物理层协议不同
【错选】D
【答案】C
【分析】网络的异构性指的是传输介质、数据编码方式、链路控制协议以及不同的数据单元格式和转发机制,这些特点分别在物理层和数据链路层协议中定义。下列的哪一项正确描述了流量控制?()。
A. 一种管理有限带宽的方法
B. 一种同步连接两台主机的方法
C. 一种确保数据完整性的方法
D. 一种检查病毒的方法
【错选】A
【答案】C
【分析】流量控制用于防止在端口阻塞的情况下丢帧,这种方法是当发送或接收缓冲区开始溢出时通过将阻塞信号发送回源地址实现的。流量控制可以有效地防止由于网络中瞬间的大量数据对网络带来的冲击,保证用户网络高效而稳定地运行。自治系统AS内部使用的路由协议必须是()。
A. OSPF
B. EGP
C. IGP
D. BGP【错选】D
【答案】C
【分析】OSPF只是自治系统协议的一部分,EGP和BGP属于外部网关协议,IGP是AS内使用的路由协议的统称。在IP数据报转发过程中,根据“下一跳”目的IP地址找到目的物理地址的协议是()。
A. ARP
B. ICMP
C. RIP
D. IGP【错选】C
【答案】A
【分析】ARP协议用来完成IP地址到MAC地址的映射。假设自治系统内的路由器甲收到其邻居路由器乙的距离矢量中包含的信息<netl,16>,若该自治系统采用RIP协议,那么可能得出的结论是()。
A. R2可以经过R1到达netl,跳数为17
B. R2可以经过R1到达netl,跳数为16
C. R1可以经过R2到达netl,跳数为16
D. R1不能经过R2到达netl
【错选】B
【答案】D
【分析】RIP协议基于跳数来度量距离,支持的最大跳数是15,跳数为16则表示不可达。以下四个子网掩码中,合理的是()。
I.176.0.0.0
II.96.0.0.0
III.127.192.0.0
IV.255.128.0.0A. 仅I、IV
B. 仅I、II、IV
C. 仅IV
D. I、II、III、IV【错选】B
【答案】C
【分析】只有IV是连续的1和连续的0的掩码,是推荐使用的。
能够对路由表中的路由信息进行处理的是()。
A. 路由器端口
B. 路由算法
C. 路由选择处理机
D. 路由器转发结构【错选】B
【答案】C
【分析】路由选择处理机是路由器路由选择部分的核心,负责构造、更新和维护路由表。