目录
- I 上岸贴
- II 真题答案与解析
- III 往年真题与大纲
- 1 前言
- 2 2020年 848真题答案与解析
-
- 数据结构
-
- 2.1 单项选择题
- 2.2 填空题
- 2.3 简答题
- 2.4 算法题
- 操作系统
-
- 2.5 判断题
- 2.6 填空题
- 2.7 单选题
- 2.8 简答题
- 2.9 应用题
- 3 2021 848真题答案与解析
-
- 4 2020年真题
- 5 2021年真题
- 6 2022真题
- 7 关于辅导
I 上岸贴
【考研】2022暨南大学 848 电子信息(计算机技术) 经验贴
【腾讯文档】暨大848经验贴汇总
II 真题答案与解析
848的20、21和22年已出。
有内容缺失或者疑问可以评论[email protected]。
往年830答案:
https://pan.baidu.com/s/18o4SU5GRkiJKO1YuxzwIBQ?pwd=zvxb
III 往年真题与大纲
848和830真题资料:
https://pan.baidu.com/s/1WIoN8cmML0rSJcihb7wwtQ?pwd=769g
1 前言
建议把往年的830和848都做了。
2 2020年 848真题答案与解析
数据结构
- 答案给出的页数都来自于《严书》电子版。
- 因为没有正确答案,所以给所的答案并不完全正确,自己做的时候要保持质疑的态度。
- 如果有校正会及时更新。
- 您如果发现错误,可以在底下评论。
有内容缺失或者疑问可以在下面评论找。
数据结构
2.1 单项选择题
答案:
1 - 5 C C D C D
6 - 10 A B B C C
解析:



2.2 填空题
答案:
1. ABDGHCEFI
2. 325 77 258 16 101 494 863 996 689 572
3. 2100
4. 插入元素在表中的位置
5. 如何构造哈希函数 如何解决冲突
6. Q.front == (Q.rear + 1) % MAXSIZE
解析:


2.3 简答题


2.4 算法题
- 试编写一个算法完成下面的功能:对于输入的任意一个非负十进制整数,输出与其等值的八进制数。(10分)
严书P48

- 试编写一个算法,在有向图G中,判定从顶点Vi到顶点Vj是否有通路。(10分)
严书P169 深度遍历和广度遍历都可以。
深度遍历

访问该顶点后,查找visited[j]。
同样也要查找visited[j]。
操作系统
- 答案给出的页数都来自于《题解》电子版。
- 因为没有正确答案,所以给所的答案并不完全正确,自己做的时候要保持质疑的态度。
- 如果有校正会及时更新。
- 您如果发现错误,请及时与我们联系,我们会给予奖励。
2.5 判断题
答案:
1 - 5 √ × × √ ×
6 – 10 × √ √ × ×
解析:

2.6 填空题
- 0.1ms 0.0125ms
- 2
- [m - n, m] n-m
- 循环首次适应
- 指向该文件的索引结点指针
- 并发
- 多次性 对换性

2. P145
3. P58
4. P88

5. P148

7. P109

以上都是书上内容,辅导真的要好好看!
2.7 单选题
答案:
1 - 5 D A D C D
6 - 10 D C B D B
解析:

2.8 简答题


3.


2.9 应用题


3 2021 848真题答案与解析
3.1 数据结构 第二题
问题描述
- 设一个带头结点的单链表L,数据元素为整数,其中大部分为正数,少数为负数,编写函数,实现将负数结点移到链表尾部,并返回调整后链表中第一个负数结点的位置。要求先给出算法思想,再写出相应算法。
前言
算法思想
-
建立新的头结点minusHead。
-
扫描原链表的负结点,将其抽出后利用尾插法接到minusHead的链表中。
-
遍历完原链表后,将minusHead后的链表接在tail后,返回minusHead->next。
代码
LNode* Sort(LinkList Head) {
LNode* minusHead = new LNode();
LinkList minus = minusHead;
LNode *p = Head->next, *tail = Head;
while(p)
{
if (p->data >= 0)
{
tail = p;
p = p->next;
}
else
{
minus->next = p;
minus = p;
tail->next = p->next;
p = p->next;
}
}
tail->next = minusHead->next;
minus->next = nullptr;
return minusHead->next;
}
3.2 操作系统第二题
步骤
先把题干信息看全
互斥:叫号机。
同步:客人等待就柜台叫号,否则等待。
变量:排队序号,等待人数,窗口号。
题目不难,但是要求有点多,根据考场临城情况,我实现了两个版本,一个能基本拿分,一个基本满分。
代码
版本一:
易想版,最快时间拿分。
semaphore call = 1,service = n, wait = 0;
int no = 0, num = 0;
client() {
while (1) {
p(call);
print("%d %d\n",++no, no - num);
v(call);
v(wait)
p(service);
接受服务;
}
}
teller() {
while(1) {
p(wait);
++num;
print("%d %d\n",no, 窗口号);
提供服务;
v(service(窗口号));
}
}
版本二:
悠闲版,就要满分。
4 2020年真题
第一部分 数据结构(75分)
一、 单项选择题(每题2分,共20分)
- 含有m个结点的二叉树链式存储结构中空指针的个数为 ( )。
A.2m B.m-1 C.m+1 D.m
- 下列排序算法中元素的移动次数和关键字的初始排列次序无关的是( )。
A. 快速排序 B. 插入排序 C. 选择排序 D. 希尔排序
- 一个栈的进栈序列是a b c d e,则栈的输出序列不可能的是( )。
A.a b c d e B.e d c b a C.d e c b a D.d c e a b
- 需要的辅助空间最多的排序算法为( )。
A. 归并排序 B. 快速排序
C. 基数排序 D. 堆排序
- 哈希表的平均查找长度说法错误的是 ( )。
A. 与处理冲突方法有关而与表的长度无关
B. 与选用的哈希函数有关
C. 与哈希表的饱和程度有关
D. 与表中填入的记录数有关
- 有n个顶点 、e条边且使用了邻接表存储的有向图进行深度优先遍历,其算法的时间复杂度是( )。
A. O(n+e) B. O(n2) C. O(n+2e) D. O(n*e)
- 已知一个长度为11的顺序表,其元素按关键字有序排列,若采用折半查找查找一个其中不存存在的元素,则关键字的比较次数最多是( )。
A.3 B.4 C.5 D.6
- 一棵完全二叉树上有3001个结点,其中叶子结点的个数是( )。
A. 1500 B.1501 C. 1000 D.1001
- 若一棵二叉树度为2的结点有18个,度为1的结点有10个,则度为0的结点个数是( )。
A. 46 B. 28 C. 19 D. 17
- m阶B-树是一棵( )。
A .m叉排序树 B. m-1叉平衡排序树 C. m叉平衡排序树 D. m+1叉平衡排序树
二、 填空题(每空2分,共14分)
- 已知一棵二叉树的中序遍历序列为GDHBAECIF,后序遍历序列为GHDBEIFCA,那么先序遍历序序列为 。
- 若某记录的关键字序列是(491,77,572,16,996,101,863,258,689,325),以第一个关键字为枢轴,写出采用快速排序算法第一趟排序的结果 。3. 将对称矩阵A[8][8]的下三角部分逐行存储到起始地址为2000的内存单元中,已知每个元素占4个单元,假设第一个元素是A[0][0],则A[4][6]的地址是 。
- 在顺序表中插入一个元素,需要平均移动表中一半元素,具体移动元素的个数与
有关。
5.在哈希查找方法中,要解决两方面的问题,它们是 和 。
- 循环队列中,Q.rear == Q.front表示循环队列空,表示循环队列满的条件是 。
三、 简答题(共3小题,每题7分,共21分)
- 将下面的森林转换为二叉树(3分),并给出该二叉树的中序线索链表(4分)。
2. 设Huffman编码的长度不超过4,若已对两个字符编码为01和11,则最多还可以对多少个字符编码,为什么?(7分)
- 假设图的顶点是A、B、C、D、E,请根据下面的邻接矩阵画出相应的有向图(3分),然后画出图的邻接表和逆邻接表(4分)。
四、 编写算法(共2小题,每题10分,共20分)
-
试编写一个算法完成下面的功能:对于输入的任意一个非负十进制整数,输出与其等值的八进制数。(10分)
-
试编写一个算法,在有向图G中,判定从顶点Vi到顶点Vj是否有通路。(10分)
第二部分 操作系统(75分)
五、 判断题(每小题1分,共10分,正确的打√,错误的打×)
- 系统调用中的被调用程序运行在系统态。
- 银行家算法采用了死锁预防的方法。
- 文件系统采用树形目录结构可以节省内存空间。
- 虚存管理允许用户程序大于主存容量,而且还可以提高系统的吞吐量。
- SPOOLing系统实现了设备的独立性。
- 分时系统的时间片越小,用户的满意度就越高。
- 管程每次只允许一个进程进入。
- 操作系统既可看作虚拟机,也可看作资源管理器。
- 在作业调度时,采用最高响应比优先的作业调度算法可以得到最短的作业平均周转时间。
- 并行程序设计中,使用信号量比使用管程更能保证程序的正确性。
六、 填空题 (每小题1分,共10分)
- 对于速率为9.6KB/s的数据通信而言,如果设置一个具有8位的缓冲寄存器,则CPU中断时间和响应时间分别大约为 (1) 、 (2) 。
- 如果计算机连接了三个同类型的激光打印机及五个同类型的喷墨打印机,需要安装的驱动程序数目是 (3) 。
- 在具有n个进程的系统中,允许m个进程(n≥m≥1)同时进入它们的临界区,其信号量S的值的变化范围是 (4) ,处于等待状态的进程数最多有 (5) 个。
- 动态分区的 (6) 算法可以使内存中的空闲分区分布得更均匀。
- UNIX的目录项由文件名和 (7) 构成。
- 若干事件在同一时间间隔内发生称为 (8) 。
- 虚拟存储器具有 (9) 、 (10) 和虚拟性三大特征。
七、 单选题(每小题1分,共10分)
- 请求调页系统中,如下算法中,( ) 淘汰自上次访问以来经历时间最长的页面。
A. FIFO B. OPT C. NRU D. LRU
- 下列进程调度算法中,( ) 可能会出现进程长期得不到调度的情况。
A. 静态优先权法 B. 抢占式调度中采用动态优先权法
C. 分时处理中的时间片轮转调度算法 D. 非抢占式调度中采用FIFO算法
- 分时系统中,CPU进程切换需要3ms,为使得100个用户均能在1秒内得到响应,可以选择的时间片是( )。
A. 2ms B. 50 ms C. 10ms D. 7 ms
- 磁盘的I/O控制主要采取( ) 方式。
A. 程序I/O B. 中断 C. DMA D. SPOOLing
- 系统产生死锁是指( ) 。
A. 系统发生重大故障
B. 若干进程同时处于阻塞状态
C. 请求的资源数大于系统提供的资源数
D. 若干进程等待被其他进程所占用而又不可能被释放的资源
- 通道又称I/O处理机,它用于实现( ) 之间的信息传输。
A. CPU与外存 B. CPU与外设 C. 内存与外存 D. 内存与外设
- 下面叙述正确的是( ) 。
A. 程序段是进程存在的唯一标志
B. 系统通过PCB来控制和管理进程,用户可以从PCB中读出与本身运行状态相关的信息
C. 当进程有执行状态变为就绪状态时,CPU现场信息必须被保存在PCB中
D. 当进程申请CPU得不到满足时,它将处于阻塞状态
- 在没有快表的情况下,分页系统要访问( )次内存。
A. 1 B. 2 C .3 D. 4
- 计算机操作系统中,若WAIT、SIGNAL操作的信号量S初值为3,当前值为-4,则表示当前有( ) 个等待信号量S的进程。
A. 1 B. 2 C. 3 D. 4
- 有10个进程共享5个打印机,若信号量S的当前值是-2,则当前有( )个进程提出了打印请求?
A. 10 B. 7 C. 5 D. 2
八、 简答题(每小题5分,共25分)
- 什么是文件目录、目录文件,各起什么作用?
- 多级树形目录的文件系统,怎样才能提高查找文件的速度?
- 多线程系统与传统多进程系统相比有哪些优点?
- 分页存储管理和分段存储管理的主要区别有哪些?
- 用伪代码或文字描述fork()系统调用是如何创建进程的。
九、 应用题(每小题10分,共20分)
- 某类Unix系统采用成组链接法来管理磁盘的空闲空间,目前磁盘的状态图如下(10分):
(1)该磁盘中目前还有多少个空闲盘块?(4分) (2)给出该系统的磁盘块分配及回收算法(流程图或描述)。(6分)
- 分析下面给出的表达式的并行性,并用信号量机制实现该表达式的并行计算。(10分)
(3 * a * b + 4)/ ( c + d )( e – f )
5 2021年真题
招生专业与代码:计算机系统结构081201、计算机软件与理论081202、计算机应用技术081203、电子信息(专业学位) 085400
考试科目名称及代码:计算机基础综合848
考生注意:所有答案必须写在答题纸(卷)上,写在本试题上一律不给分。
第一部分 数据结构(75分)
一、 单项选择题(每题2分,共20分)
- 某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( )存储方式最节省运算时间。
A.单链表 B.仅有头指针的单向循环链表
C.双链表 D.仅有尾指针的单向循环链表
- 一个栈的输入序列为1,2,3…,n,若输出序列的第一个元素是n,那么输出第i(1<=i<=n)个元素是( )。
A. n-i B. i C. n-i+1 D. 不确定
- 若一颗二叉树具有15个度为2的结点,10个度为1的结点,则度为0的结点个数是( )。
A. 16 B. 25 C. 40 D. 不确定
- 根据使用频率,为5个字符设计的哈夫曼编码不可能是( )。
A. 000,001,010,011,1 B. 000,001,01,10,11
C. 00,100,101,110,111 D. 0000,0001,001,01,1
- 设a,b为一棵二叉树上的两个结点,在中序遍历时,a在b前面的条件是( )。
A.a在b的右方 B. a在b的左方 C. a是b的祖先 D. a是b的子孙
- 对一棵二叉排序树按( )遍历,可得到结点值从小到大的排序序列。
A. 先序 B. 中序 C. 后序 D. 层次
- 已知一个有序表为(5,13,19,21,37,56,64,75,80,88,92),则折半查找64需要比较( )次。
A. 1 B. 2 C. 3 D. 4
- 在一个图中,所有顶点的度数之和等于所有边数的( )倍。
A. 1/2 B. 1 C. 2 D. 3
- 一个序列中有100000个元素,若只想得到其中前10个最大元素,则最好采用( )方法。
A. 快速排序 B. 堆排序 C. 插入排序 D. 归并排序
- 下列四个序列中,哪一个是堆( )。
A. 70,60,40,10,30,25,20,15 B. 70,60,30,15,25,40,20,10
C. 70,40,60,10,25,30,20,15 D. 70,40,60,30,15,25,20,10
二.判断题(每题1分,共10分,正确的打√,错误的打×)
- 数据结构研究的是数据的物理结构、逻辑结构以及它们之间的相互关系。
- 线性表的顺序存储结构适用于频繁插入或删除数据元素的情况。
- 一颗满二叉树同时又是一颗平衡树。
- 一棵m阶B-树中每个结点最多有m棵子树,非终端结点最少有2棵子树。
- 带权无向图的最小生成树是唯一的。
- 在各种查找方法中,平均查找长度与结点个数无关的查找方法是哈希查找。
- 拓扑排序是按AOE网中每个结点事件的最早发生事件对结点进行排序。
- 存在这样的二叉树,对它采用任何次序进行遍历,结果相同。
- 对于n个记录的集合进行冒泡排序,在最坏情况下的时间复杂度是O(n2) 。
- 若网中有几条关键路径,提高一条关键路径上的活动的速度,不能导致整个工程缩短工期。
三.简答题(共3小题,每题8分,共24分)
- 请按照关键字24,13,20,32,29,53的次序构造一棵二叉平衡树,并给出过程。(8分)
- 由n个权值构成的哈夫曼树共有多少个结点?(4分)为什么?(4分)
- 一个有六个顶点{V0,V1,V2,V3,V4,V5}的网络的邻接矩阵如图1所示,求出从顶点V0到其他各顶点之间的最短路径,并写出计算过程。(8分)
四. 编写算法(共2小题,第1小题10分,第2小题11分,共21分)
- 设树的存储结构为孩子兄弟链表,试编写算法,输出树中所有从根到叶子的路径。(10分)
- 设一个带头结点的单链表L,数据元素为整数,其中大部分为正数,少数为负数,编写函数,实现将负数结点移到链表尾部,并返回调整后链表中第一个负数结点的位置。要求先给出算法思想,再写出相应算法。(11分)
第二部分 操作系统(75分)
一、 判断题(每小题1分,共10分,正确的打√,错误的打×)
- 设备的独立性是指I/O设备具有独立执行I/O功能的一种特性。
- 并行程序设计中,使用信号量比使用管程更能保证程序的正确性。
- 避免死锁的方法一般是以降低资源利用率为代价的。
- 对一个具有三级索引表的文件,存储一条记录通常需要三次访问磁盘。
- 分页存储管理比分段管理更适合动态链接的存储方式。
- SPOOLing系统允许用户随时将数据送入到输出井中。
- UNIX系统中,所有的设备、磁盘目录都被看作是文件。
- 虚拟存储器的最大容量由计算机地址结构确定。
- 分页式存储管理中,页面越小,存储器的利用率就越高。
10.分页存储管理比分段存储管理在内存利用率更高些。
二、 填空题(每空1分,共10分)
- 进程由程序、数据集合和 (1) 组成。
- 同步机制要遵循的四条规则分别是空闲让进、忙则等待、有限等待及 (2) 等待。
- 若系统中有n个用户进程,且当前CPU在用户态下执行,最多可有 (3) 个用户进程处于就绪态。
- 分时操作系统的主要特点是:交互性、多路性、 (4) 。
- 产生死锁的根本原因是可共享资源不足,另一个基本原因是 (5) 。
- 影响缺页次数的因素主要有: (6) 及页面本身的大小,程序的编制方法和 (7) 。
- Shell的主要功能是 (8) 。
- 某页式存储管理系统中,地址寄存器的长度为24位,其中页号占14位,主存的块大小应是 (9) 字节,程序最多占 (10) 页。
三、 单选题(每小题1分,共10分)
- 使用共享文件进行通信的方式属于( )通信。
A. 共享存储 B. 实时 C. 消息缓冲 D. 管道
- 若作业采用动态重定位装入技术,该作业在内存中起始地址是10000,作业中一条指令是“Load A,5000”,即把5000单元中的数据装入A寄存器,则该指令装入内存后,操作数5000 ( ) 。
A. 不变 B. 变为15000 C. 变为10000 D. 是随机数
- 某设备的串行通信速率是10000b/s(b:bit),为该设备接口设置一个4字节的缓冲寄存器,每隔( ) 需要CPU中断一次。
A. 2.5ms B. 3.2ms C. 8ms D. 0.1ms
- 树形目录结构中,用户对文件的首次访问通常采用( )方式。
A. 文件路径名 B. 文件符号名
C. 用户文件描述符 D. 文件存储的物理位置
- 实时系统的引入是为了使计算机( )响应外部事件的请求。
A. 快速 B. 按对象要求时间
C. 按人反应速度 D. 按人动作的速度
- 分页式存储管理中,地址转换工作是由( )完成的。
A. 硬件 B. 地址转换程序 C. 用户程序 D. 装入程序
- 计算机操作系统中,若WAIT、SIGNAL操作的信号量S初值为3,当前值为-2,则表示当前有( ) 个等待信号量S的进程。
A. 1 B. 2 C. 3 D. 0
- 银行家算法是一种( )算法。
A. 死锁避免 B. 死锁预防 C. 死锁检测 D. 死锁解除
- 假设磁头当前位于第105道,正在向磁道序号增加的方向移动。现有一个磁道访问请求序列为35,45,12,68,110,180,170,195,采用SCAN调度(电梯调度)算法得到的磁道访问序列是( ) 。
A. 110,170,180,195,68,45,35,12
B. 110,68,45,35,12,170,180,195
C. 110,170,180,195,12,35,45,68
D. 12,35,45,68,110,170,180,195
- 分时系统中,CPU进程切换需要2ms,为使得100个用户均能在1秒内得到响应,应该选择的时间片是( )。
A. 2ms B. 50 ms C. 10ms D. 8 ms
四、 简答题(每小题5分,共25分)
- 什么是信号(Signal),有什么用途?
- 实时操作系统与分时操作系统的本质区别是什么?
- 多线程系统与传统多进程系统相比有哪些优点?
- 为什么说多级反馈队列调度算法能较好地满足各类用户的需求?
- 分析并给出下面程序的输出结果?
int main(void)
{ printf(“1111\n”);
fork();
printf(“2222\n”);
fork();
printf(“3333\n”);
fork();
printf(“4444\n”);
}
五、 应用题(每小题10分,共20分)
- 某文件系统的一个文件控制块(FCB)占64个字节,盘块大小为2K字节,则每个盘块可存放的FCB数目是多少?如果一个文件目录中有384个FCB,则查找一个文件平均需要启动磁盘多少次?引入索引结点(i结点)后,如果文件名占14个字节,索引结点占2个字节,大小为2K字节的盘块可存放的目录项数目是多少?为找到一个文件,平均需要启动磁盘多少次?(10分)
- 某银行在两个门口分别放置了排队取号机,客户进门时在取号机上按取号键,取号机打印输出含有排队序号和前面等待人数的纸条给客户。若干柜员每人桌面放有一台已设好窗口号的叫号机,按下叫号键若有客户等待就播放排在最前面的客户的号码和窗口号,没有客户则程序等待。请用信号量机制模拟叫号系统的功能。(10分)
6 2022真题
-
为了操作方便,用单链表表示的链式队列的队头应设在链表的( )位置。
A. 表头 B. 表尾 C. 表头和表尾均可 D. 链中
-
一棵完全二叉树上有2001个结点,其中叶子结点的个数是( )。
A.500 B.501 C.1000 D.1001
-
采用邻接表存储的图,其深度优先遍历类似于二叉树的( )。
A.先序遍历 B.中序遍历 C.后序遍历 D.按层次遍历
-
在含有N个结点的线索二叉树中线索的数目为( )。
A.2N B.N C.N-1 D.N+1
-
若有一个栈的输入序列是1,2,3,. . . ,n,输出序列的第一个元素是n,则第i个输出元素是( )。
A.n-i B.n-i-1 C.n-i+1 D.不确定
-
二维数组行下标的范围从0到5,列下标的范围从0到4,M按行存储时元素M[3][4]的地址与M按列存储时元素( )的地址相同。
A.M[1][4] B.M[3][4] C.M[1][3] D.M[4][4]
-
已知一个有序表为(18,26,35,59,63,75,81),则折半查找35需要比较( )次。
A.1 B.2 C.3 D.4
-
以下排序算法中,占用辅助空间最多的是( )。
A.堆排序 B.希尔排序 C.快速排序 D.归并排序
7 关于辅导
我不接辅导。(太忙
但可以说下学弟学妹们找辅导尽量不要找机dog,会比较贵。