考研计算机学科专业基础

更新时间:2025-09-13 23:28:01
最佳答案

考研计算机学科专业基础:常见考点深度解析与备考策略

常见问题解答

1. 数据结构中的“平衡二叉树”是什么?它在实际应用中有哪些优势?

平衡二叉树是一种特殊的二叉搜索树,通过动态调整树的结构来保持左右子树的高度差不超过1,从而确保树的高度始终保持在log(n)级别,显著提升查找、插入和删除操作的效率。常见的平衡二叉树包括AVL树和红黑树,它们在数据库索引、文件系统、编译器符号表等场景中广泛应用。

以AVL树为例,当树中插入或删除节点后,如果发现任何节点的平衡因子(左子树高度减去右子树高度)的绝对值超过1,就会通过旋转操作(单旋转或双旋转)来恢复平衡。这种自平衡机制使得AVL树在处理大量动态数据时仍能保持O(log n)的时间复杂度,而普通二叉搜索树在极端情况下会退化成链表,时间复杂度降至O(n)。在数据库中,平衡二叉树常用于实现B树和B+树,通过减少磁盘I/O次数来优化查询性能;在操作系统文件系统中,它帮助快速定位文件目录;在编程语言编译器中,则用于管理符号表和类型信息。

2. 计算机网络中的TCP协议三次握手和四次挥手过程是怎样的?为什么不能省略任何步骤?

TCP协议的三次握手过程确保客户端与服务器端在建立连接前完成双方状态同步和参数协商。第一次握手:客户端发送SYN=1的报文段请求连接;第二次握手:服务器回复SYN=1、ACK=1的报文段确认连接;第三次握手:客户端再发送ACK=1的报文段完成双向确认。整个过程耗时约1-2秒,但能防止已失效的连接请求报文段突然又到达服务器导致错误连接。

四次挥手过程则处理连接释放,比握手更复杂。当一方发送FIN=1表示数据发送完毕后,另一方必须先回复ACK=1确认,待己方所有数据传输完成后才能发送自己的FIN=1。由于TCP是全双工通信,双方各自维护独立的连接状态,因此需要分别关闭。不能省略任何步骤:三次握手防止了服务器端被大量无效请求淹没,四次挥手则确保数据传输完整、避免资源泄漏。如果省略第三次握手,服务器可能收到过期的连接请求;省略第二次或第三次握手,则无法建立可靠的同步机制。同样,四次挥手的ACK确认和FIN延迟发送是必要的,否则对方无法正确处理已接收的数据。

3. 操作系统中的“死锁”现象有哪些典型特征?常用的解决方案有哪些?

死锁是操作系统中最常见的问题之一,典型特征包括互斥条件(资源不能共享)、占有并等待条件(进程已占有资源又请求其他资源)、非抢占条件(资源只能由占有者主动释放)和循环等待条件(形成资源请求链)。例如,两个打印任务分别占用了不同打印机,同时等待对方占用的打印机,就构成了死锁。

解决方案分为预防、避免和检测三类。预防通过破坏死锁必要条件实现:如采用资源有序分配法确保所有进程按相同顺序申请资源;采用死锁避免算法如银行家算法,通过资源分配前检查未来最大需求是否会导致资源不足;采用资源剥夺法,当进程申请不到资源时终止或回滚。检测通过检测系统状态判断是否发生死锁,常用方法有资源分配图遍历、检测进程资源清单变化等。一旦检测到死锁,可以采用进程回滚、资源剥夺或抢占等恢复策略。例如,Linux系统通过OOM Killer自动杀死占用过多资源的进程来避免死锁;数据库事务管理通过两阶段锁协议来预防死锁。实际应用中常结合多种策略,如为临时资源设置超时机制,减少死锁概率。

相关推荐

CopyRight © 2020-2025 考研攻略网 -考研各个学科复习攻略资料分享平台.网站地图 All rights reserved.

桂ICP备2022010597号-11 站务邮箱:newmikke@163.com

页面耗时1.2884秒, 内存占用1.55 MB, 访问数据库11次