计算机考研复试面试专业课问题 自用

这篇博客整理了计算机考研复试面试中涉及的数据结构、操作系统、编程概念等多个方面的常见问题,包括AVL树、红黑树、逻辑结构与存储结构、循环队列的判断、递归与迭代的区别、分治算法、回溯法、动态规划、贪心算法、并发特性、进程通信方式、内存管理、磁盘调度、文件系统和网络协议等内容,是备考者的重要参考资料。
摘要由CSDN通过智能技术生成

数据结构

Q:什么是AVL树
平衡二叉树,每个结点的子树的高度之差不大于1,减少了树的高度,使得查找的效率提升

Q:什么是红黑树
任意节点到叶子节点的所有路径包含相同数目的黑色节点且任意路径没有连续两个红色节点的树。(黑数同,红不连)

Q:逻辑结构和存储结构
逻辑:线性(线性表,栈,队列),非线性(树,图,集合)
存储:顺序存储,链式存储,索引存储,散列存储

Q:循环队列如何区分队空还是队满?
1)牺牲一个单元来区分,入队时少用一个队列单元,规定队头指针在队尾指针的下一个位置作为队满的标志。队空的标志仍为队头指针和队尾指针重合。
2)增设表示元素个数的数据成员。
3)增设tag数据成员,tag为0时,若因删除导致front=rear,则队空。Tag为1时,若因插入导致front=rear,则队满。

Q:递归
将问题拆分成多个具有相同性质的子问题
子问题拆分方程式,如求n!时:f(n)=f(n-1)*n;
终止条件:满足条件时跳出递归得到最终结果
实现方式:在一个函数内部调用函数自身;

Q:迭代
与递归本质是一样的,只是模拟了递归的调用栈

Q:分治
分治也是将问题拆分成若干个子问题,将各个子问题的解合并成为原问题的解。分治是算法思想,递归是技术手段。

Q:回溯
一个问题产生若干子问题,当一个子问题被解决时返回上一级问题。也可以说每一个问题视为一个节点,可以产生若干分支,当其中一个分支下的所有子问题都被解决了返回节点,开始解决下一个分支的所有问题。比如树的深度遍历,迷宫问题。

Q:动态规划
每个子问题都计算全局最优解

Q:贪心算法
每个子问题都是局部最优解

Q:深度遍历DFS和广度遍历BFS的思想
深度:访问一个节点,如果该节点有未被访问的相邻节点,则访问该节点,如果被访问的节点的所有相邻节点都已经被访问过了,则返回上一节点。采用的是回溯的思想。

广度:使用了队列的数据结构,将某一节点出队并访问时,将其所有未被访问的相邻节点加入队尾。

Q:克鲁斯卡尔kruskal
权值从小到大遍历每一条边,若加入该边不会形成环,则将其设置为有效边,若会形成环,则舍去这条边

Q:Prim算法思想
从某一个节点开始,将该节点加入集合,选择与该集合相连的边的权值最小的节点加入该集合,直到所有节点都加入该集合

Q:链表与数组的优缺点
数组的优点: 随机访问性强, 查找速度快
数组的缺点:必须有足够的连续内存空间。数组大小固定,不能动态拓展。
链表的优点: 内存利用率高,不会浪费内存,大小没有固定,拓展灵活。
链表的缺点: 由于多了指针,每一个数据元素需要占用更多的空间,不能随机查找,必须从第一个开始遍历,查找效率低

Q:堆和栈的区别
栈(操作系统):由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈;
堆(操作系统): 一般给对象动态分配空间,的一般由程序员分配释放, 若程序员不释放,程序结束时可能由 OS 回收。

Q:
a
Q:
a
Q:
a

操作系统

Q:操作系统的特点?
并发:可以在同一时间间隔处理多个进程
共享:资源可被多个并发执行的进程使用
虚拟:将物理实体映射成为多个虚拟对应物(虚拟处理器,存储器,设备)
异步:不同环境可能产生不同运行结果

Q:系统调用
系统调用是操作系统与应用程序之间的接口,它是用户程序取得系统服务的唯一途径。用户程序运行在用户态,需要使用系统时,通过软中断机制,先由用户态转为内核态,经核心分析后,才转向相应的系统调用处理子程序

Q:操作系统的发展过程
手工操作系统
单道批处理系统:解决了人需要等机器的问题
多道批处理系统:解决了cpu和io设备速度不匹配,cpu需要等io的问题
分时操作系统:使得人可以和主机进行交互
实时操作系统:可以实时交互控制
网络系统:实现了资源共享,计算机通信

Q:线程和进程的区别
进程是拥有资源的单位,而线程是独立调度的单位。
同一进程的线程共享资源,进程的创建撤销开销大,而线程的开销小。
进程之间不能直接通信,而同一进程线程可以直接通信(通过读写程序段)。

Q:进程通信方式
1.共享数据结构:PV操作
2.共享存储空间(同步互斥手段)
3.消息传递(根据有无中间实体分为直接和间接两种,底层通过发送消息和接收消息两个原语实现)
4. 管道通信(两个进程中间存在一个特殊的管道文件,进程的输入输出都通过管道,半双工通信)

Q&#

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值