1. 数据结构与算法
数据结构与算法是计算机考研中的核心内容,涵盖了线性结构、树结构、图结构、排序与查找算法等。试题常以具体问题考查算法设计与分析能力,如时间复杂度分析、空间复杂度评估、算法优化等。例如,题目中可能要求考生设计一个高效的排序算法,或者分析一个算法的时间复杂度,以判断其适用性。
在2020年的真题中,数据结构部分重点考查了二叉树的遍历与性质、哈希表的设计与应用、图的存储与遍历算法等。考生需要熟练掌握各种数据结构的特性、操作复杂度以及适用场景。算法设计题则侧重于考查考生的编程能力与算法优化思维,要求考生能够针对具体问题选择合适的算法并进行有效实现。
线性结构考查要点
线性结构包括数组、链表、栈、队列等,是数据结构的基础。2020年真题中,线性结构主要考查了链表的插入删除操作、栈的括号匹配问题、队列的循环实现等。考生需要掌握各种线性结构的存储特点、操作复杂度以及应用场景。
例如,题目可能要求考生实现一个支持动态扩容的顺序表,或者分析链表与数组在特定操作下的性能差异。此外,栈和队列在表达式求值、广度优先搜索等算法中也有广泛应用,考生需要理解其基本原理并能灵活运用。
树与图结构考查要点
树结构主要包括二叉树、二叉搜索树、平衡二叉树、B树等,图结构包括有向图、无向图、带权图等。2020年真题中,树与图部分重点考查了二叉树的遍历算法、二叉搜索树的插入删除、图的深度优先搜索和广度优先搜索等。
考生需要掌握树的递归与非递归遍历方法、二叉搜索树的性质与应用、图的存储表示(邻接矩阵、邻接表)以及各种图遍历算法的实现。此外,最短路径算法、最小生成树算法等也是高频考点,要求考生能够理解算法原理并能手动模拟执行过程。
排序与查找算法考查要点
排序算法包括冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等,查找算法包括顺序查找、二分查找、哈希查找等。2020年真题中,排序与查找部分重点考查了各种排序算法的时间复杂度、空间复杂度、稳定性以及适用场景。
考生需要掌握各种排序算法的基本思想、实现步骤、性能特点以及优化方法。例如,快速排序的平均时间复杂度为O(nlogn),但最坏情况下可能退化为O(n²);归并排序的时间复杂度稳定为O(nlogn),但需要额外的空间。查找算法方面,哈希表的设计与冲突解决方法是考查重点,考生需要理解哈希函数的选择、负载因子的影响以及各种冲突解决策略的优缺点。
2. 操作系统
操作系统是计算机考研中的重要组成部分,包括进程管理、线程管理、文件系统、设备管理等。试题常以操作系统的基本原理与实际应用为切入点,考察考生对操作系统功能、原理与实现的理解。例如,题目可能要求考生解释进程调度的几种常见算法,或者分析多线程程序的并发问题。
在2020年的真题中,操作系统部分重点考查了进程与线程的区别、进程调度算法、死锁的产生与预防、内存管理方式、文件系统结构等。考生需要掌握操作系统的核心概念、基本原理以及各种管理策略的实现机制。
进程管理
进程调度算法
考查了先来先服务、短作业优先、时间片轮转、优先级调度等常见进程调度算法的原理、特点、适用场景以及性能分析。考生需要能够手动模拟调度过程,计算平均等待时间、平均周转时间等指标。
内存管理
内存分配与回收
考查了连续分配方式(单一连续、分区分配)、离散分配方式(分页、分段、段页式)的原理、地址转换过程、页面置换算法(OPT、FIFO、LRU等)的特点与性能比较。
文件系统
文件存储与检索
考查了文件的逻辑结构与物理结构、文件目录结构、文件共享与保护、磁盘调度算法(FCFS、SSTF、SCAN、CSCAN等)的原理与应用。
3. 计算机网络
计算机网络部分涵盖了网络协议、IP地址、路由算法、网络安全等。试题可能会要求考生解释TCP/IP协议栈的组成,或者分析网络攻击的常见手段与防范措施。除了这些以外呢,试题还可能考查网络性能优化、无线网络与有线网络的区别等知识点。
2020年真题中,计算机网络部分重点考查了OSI参考模型与TCP/IP模型、IP地址分类与子网划分、路由算法(距离向量、链路状态)、传输层协议(TCP、UDP)、应用层协议(HTTP、DNS、FTP等)以及网络安全基础。
- IP地址与子网划分:考查了IPv4地址的分类、子网掩码的作用、子网划分的方法、CIDR(无类别域间路由)的概念与应用。考生需要能够根据给定的IP地址和子网掩码计算网络地址、广播地址、可用主机范围等。
- 路由算法:考查了静态路由与动态路由的区别、距离向量路由算法(如RIP)和链路状态路由算法(如OSPF)的工作原理、路由表的形成与更新过程。考生需要能够手动模拟路由算法的执行过程。
- TCP协议:考查了TCP的三次握手与四次挥手过程、可靠传输机制(确认与重传、流量控制、拥塞控制)、TCP连接管理、TCP与UDP的区别与应用场景。
4. 数据库系统
数据库系统部分主要考查数据库的基本概念、SQL语句的编写、数据模型与规范化等。题目可能会要求考生写出特定查询语句,或者分析数据库设计的规范性问题。例如,题目可能要求考生设计一个关系数据库,以满足特定的查询需求。
2020年真题中,数据库系统部分重点考查了关系代数、SQL查询语句、范式理论、数据库设计流程、事务管理、并发控制、恢复技术等。考生需要掌握数据库的基本理论、SQL语言的使用以及数据库设计的方法论。
?️
关系代数
考查了选择、投影、连接、并、差、笛卡尔积等基本运算,以及复合运算的表达与优化。考生需要能够将自然语言描述的查询转换为关系代数表达式。
?
SQL语句
考查了SELECT、INSERT、UPDATE、DELETE等基本语句,以及JOIN、GROUP BY、HAVING、子查询等高级查询技巧。考生需要能够根据需求编写正确的SQL语句。
?
事务管理
考查了事务的ACID特性、并发控制方法(锁机制、时间戳、多版本并发控制)、死锁的检测与解除、数据库恢复技术(日志、检查点)。
5. 计算机组成原理
计算机组成原理部分主要涉及计算机体系结构、存储系统、指令系统、CPU工作原理等。试题常以具体指令集或计算机结构为背景,考查考生对计算机硬件与软件协同工作的理解。例如,题目可能要求考生解释CPU的流水线结构,或者分析计算机存储系统的层次结构。
2020年真题中,计算机组成原理部分重点考查了数据的表示与运算、指令格式与寻址方式、CPU结构与功能、流水线技术、存储系统层次结构、输入输出系统等。考生需要掌握计算机硬件的基本原理、指令执行过程、存储系统的设计以及I/O系统的组织方式。
6. 软件工程与编程
软件工程与编程部分考查考生的编程能力与软件开发流程的理解。题目可能要求考生写出特定的编程代码,或者分析软件开发过程中的常见问题与解决方案。除了这些以外呢,试题还可能涉及软件测试、版本控制、代码审查等知识点。
2020年真题中,软件工程部分重点考查了软件生命周期模型(瀑布模型、原型模型、螺旋模型、敏捷开发)、软件需求分析、软件设计原则(单一职责、开闭原则、里氏替换原则等)、设计模式、软件测试方法(单元测试、集成测试、系统测试)、软件维护等。考生需要掌握软件开发的基本流程、设计原则与方法、测试策略与维护技术。