我补充了一些,其他暂时想不起了...

数据结构(70’):

选择:(2’×12=24’)

n^log(log(log⁡n )) =O([⌊logn⌋!])

哈夫曼编码树不同深度的两棵子树互换,必定会改变编码长度

序列中逆序数互换,逆序对必定减少

KMP即使未优化next数组也能达到线性

拥有2019个节点的真二叉树的种数比2018个括号所能够成的合法序列要少

伸展树若不具备局部性,平摊复杂度就无法达到O(logn)

具有2018个叶节点的树,对其进行层次遍历时辅助队列大小最多不超过2018

只通过前序遍历和后序遍历无法唯一确定树的层次遍历

基数排序的底层排序如果不稳定,最终结果有可能会出错

简答:(4’×8=32’)

逆波兰表达式为什么相比普通表达式计算上有效?既然在将普通表达式转换成为逆波兰的过程中已经将表达式计算出来,为什么还要进行转换?

DFS什么时候标记前向边,什么时候标记后向边

直接插入排序为什么比选择排序好

Dijkstra在处理稠密图时为啥用多叉堆取代二叉堆,如何确定多叉堆的分叉数

相比于开散列,闭散列有什么优点,举两个并简要说明

红黑树在什么情况下要优于AVL树,并解释说明为什么

相比于一般的锦标赛树,败者树有什么优点

KMP相比于蛮力算法,在什么情况下才能发挥效用,并解释说明为什么

算法题(7’+3’+4’=14’)

struct BinNode {

int size;

BinNode* lc, rc

}

Binnode* rank(Binnode* T,  int k) {

//请填写代码

}

求出后序遍历的第k大的结点,要求时间复杂度和空间复杂度不超过O(depth(x))(x为第k大的节点),请不要试图直接模拟后序遍历,那样效率一定不达标,不得分

(7’)填写代码已完成上述功能(不超过12行)

(3’)解释说明代码思想,可以画一幅图

(4’)分析和计算你代码的时间复杂度和空间复杂度

组成原理(30’):

判断题(1’×5)

选择题(2’×5)

下列哪一项没有容错能力

A. RAID0  B. RAID1  C. RAID5  D. RAID6

下列关于静态存储器和动态存储器的描述正确的是

A.静态存储器使用触发器,需要定期刷新

B.静态存储器使用电容,不需要定期刷新

C.动态存储器使用触发器,不需要定期刷新

D.动态存储器使用电容,需要定期刷新

下列哪个是对的

A.虚拟内存空间比实际的地址空间大

B.虚拟内存空间比实际的地址空间小

C.虚拟内存空间连续存放,实际内存一定连续存放

D.虚拟内存空间不连续存放,实际内存有可能连续存放

填空题(10’)

(2’)+1234的32位补码(16进制,小端)

(2’)-27.625的IEEE754表示(16进制)

(3’)解决数据冲突的方法,给出三个

(3’)缓存故障类型,给出三个

计算题(5’)

给你一堆参数,然后给你5条指令,让你计算

(1’)在单周期cpu下运行时间(1’)

(2’)在多周期cpu下运行时间(2’)

(2’)在5级流水下运行时间(2’)

操作系统(30’)

填空题(15’)

(4’)系统里面会有stride机制,就是说进程分配时间和其优先级成反比,优先级越低进程上CPU运行的时间就会更长,用八位无符号数来表示进程A的运行时间有可能会溢出,但是当1)步长s     127时,只要做小小的技巧就仍可以正确判断时间,然后又引入进程B,a为A的stride,b为B的stride,当2)sign(a-b)      时说明A正在运行,此时3)a+s    256,当4)sign(a+s-b)     0时,轮到B运行

(2’)特权级检查语句“CPL>=DPL[段]&&CPL<=DPL[门]”中,要求当前优先级不小于段描述符DPL的语句是5)      ,要求当前优先级不大于门描述符DPL的语句是6)

(4’)PV操作填空

classSemaphore {

int sem;

WaitQueue q;

}

Semaphore::P() {

7)

if ( 8)        ) {

Add this thread t to q;

block(p);

}

}

Semaphore::V() {

9)

if ( 10)       ) {

Remove a thread t from q;

wakeup(t);

}

}

(1’)cr3寄存器中存储的是页表的起始13)

(2’)文件F的inode节点引用初始值为1,对F创建一个软链接A,然后用B对F做硬链接,用C对B做硬链接,则B的inode节点引用值为14)      ,C的inode的节点引用值为15)

判断题(5’)

运行只有main()函数的程序只有一个线程

不安全状态一定是死锁

Ucore代码题(lab4进程切换)(6’)

问:页表切换的代码是哪一行?堆栈切换的代码是哪一行?switch_to代码中在哪里接收传入的from和to两个参数?

.globl switch_to

switch_to: # switch_to(from, to)

# save from's registers

movl 4(%esp), %eax # eax points to from(考卷上故意把这一个注释删了)

popl 0(%eax) # save eip !popl

movl %esp, 4(%eax)

movl %ebx, 8(%eax)

movl %ecx, 12(%eax)

movl %edx, 16(%eax)

movl %esi, 20(%eax)

movl %edi, 24(%eax)

movl %ebp, 28(%eax)

# restore to's registers

movl 4(%esp), %eax  # not 8(%esp): popped return address already

# eax now points to to:(考卷上故意把这一个注释也删了)

movl 28(%eax), %ebp

movl 24(%eax), %edi

movl 20(%eax), %esi

movl 16(%eax), %edx

movl 12(%eax), %ecx

movl 8(%eax), %ebx

movl 4(%eax), %esp

pushl 0(%eax) # push eip

ret

struct proc_struct {

enum proc_state state; // Process state

int pid; // Process ID

int runs; // the running times of Proces

uintptr_t kstack; // Process kernel stack volatile

bool need_resched; //

bool value: need to be rescheduled to release CPU?

struct proc_struct *parent; // the parent process

struct mm_struct *mm; // Process's memory management field

struct context context; // Switch here to run process

struct trapframe *tf; // Trap frame for current interrupt

uintptr_t cr3; // CR3 register: the base addr of Page Directroy Table(PDT)

uint32_t flags; // Process flag

char name[PROC_NAME_LEN + 1]; // Process name

list_entry_t list_link; // Process link list

list_entry_t hash_link; // Process hash list

};

void proc_run(struct proc_struct *proc) {

if (proc != current) {

bool intr_flag;

struct proc_struct *prev = current, *next = proc;

local_intr_save(intr_flag); {

current = proc;

load_esp0(next->kstack + KSTACKSIZE);

lcr3(next->cr3);

switch_to(&(prev->context), &(next->context));

}

local_intr_restore(intr_flag);

}

}

内存管理题(4’)

给你一张内存图,告诉你A的起始位置0x00, B的起始0x10,问A访问0x04和B访问0x??的过程

计算机网络(20’)

选择题(1’×6)

以太网中最短帧长1000bit,最远两点相距离100m,数据在光纤中的传播速率为2×108m/s,问最大发送速率

A.1Gb/s B.2Gb/s C.100Mb/s 4.200Mb/s

蜂窝式网络的6台主机,可以使用840的频率段,相邻两机的频率段不能重叠,则每一台机的频率段为?

A.280   B.   C.   D.

DNS(4’)

说明http://tsinghua.edu.cn:80/index.jsp中的组成部分

假设http://tsinghua.edu.cn:80/index.jsp的ip地址为233.233.233.233(具体值不记得了),如果通过ip地址能访问网页,但是通过http://tsinghua.edu.cn:80/index.jsp访问不了,原因可能是?

若通过http://tsinghua.edu.cn:80/index.jsp可以访问,但通过ip地址访问不了,原因可能是?

Ipv4(10’)

图大致如上,图中有三个子网,子网1有100台主机,子网2有50台主机,子网3有20台主机,而且还有三个路由器R1,R2,R3共6个端口,给你一个地址的路由集合(大概是202.11.23.0/24?反正主机号还剩8位)。

(7’)合理地分配子网1,2,3和e0-e6端口的IP地址(7’)

(1’)A,B是子网1中的主机,C是子网2中的主机,问A-B,A-C之间通信时候ARP协议的执行有什么不同点?

(2’)1个ip分组从A发到C,问A→R1,R1→R2,R2→C三个过程中,数据报中IP的源地址和目的地址,MAC源地址和目的地址

python考研真题_2019清华大学912考研真题回忆版相关推荐

  1. 清华大学912计算机考研真题,2021清华大学计算机考研912计算机基础综合真题回忆版...

    原标题:2021清华大学计算机考研912计算机基础综合真题回忆版 数据结构 第一题复杂度11分,只记得第二问是f(n)=3f(n/9)+o(1),问f(n)复杂度,并证明.第一问是比较两个复杂度,一个 ...

  2. 清华大学计算机学院考研参考书目,2020清华大学计算机考研参考书目及复试线...

    2018年,在 USnews 推出的世界大学学科排名 Best Global Universities for Computer Science 中,计算机科学与技术学科位列世界第1名.在 QS 世界 ...

  3. 清华大学计算机考研经验贴6,清华大学计算机考研经验:理想的路总是为有信心的人预备着...

    清华大学是我国的顶尖院校,在备考清华大学的考研路上,每一个怀揣梦想的人内心充满了无限的自信,即使未来不可知,但是仍然做着最大的努力,接下来跨考教育老师将重点讲解清华大学计算机考研经验. 周同学考研经验 ...

  4. 清华计算机考研复试机试,清华大学历年考研复试机试真题 - 论文

    题目描述 Time Limit: 1000 ms Memory Limit: 256 mb 小H为了完成一篇论文,一共要完成n个实验.其中第i个实验需要ai的时间去完成. 小H可以同时进行若干实验,但 ...

  5. 清华大学计算机每年考研录取多少人,清华大学 外语 考研 录取多少人

    为方便考生及时了解清华大学的招生录取情况,清华大学录取分数线等信息公布于此.(被录取的考生可通过清华大学本科招生网首页左上角的"录取查询"服务查询或直接输入网址:/jsp/lqqk ...

  6. 计算机专业912,备战2019清华计算机912考研系列笔记绪论

    本笔记记录从2019年3月份到12月份,准备计算机912考研相关内容与912考研进度历程.一方面是给后人提供一些参考,一方面方便自己消化咀嚼知识.本篇文章将探讨912考研的范围与复习计划如何安排. 传 ...

  7. mips汇编计算开方_清华考研辅导班-2020清华大学912计算机专业基础综合考研经验真题参考书目...

    清华大学912计算机专业基础综合考试科目,2020年初试时间安排为12月22日下午14:00-17:00业务课二进行笔试,清华大学自主命题,考试时间3小时. 一.适用院系及专业 清华大学计算机科学与技 ...

  8. 清华大学计算机综合基础真题,【盛世清北】2021清华大学912计算机专业基础综合考研真题-清华考...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 [盛世清北]2021清华大学912计算机专业基础综合考研真题-清华考研辅导班 盛世清北分享: 清华大学912计算机专业基础综合考试真题,适用北京大学以下院 ...

  9. 清华计算机学院考研真题,清华大学计算机考研912真题(回忆版)

    2017年考研初试已经结束,为方便2017年考研的小伙伴估分,也为了2018年备考的小伙伴能对考研真题有个大致的了解,下面研招网小编为大家整理了清华大学计算机考研912真题(回忆版),希望对大家有所帮 ...

最新文章

  1. SAP PM 入门系列11 - 一个维护通知单只能创建一个维护订单?
  2. oracle11gr2查看数据库状态,Oracle 11gR2数据库文件丢失后的恢复测试
  3. 运用ajax技术写联动的效果
  4. [学习笔记]51单片机
  5. hdu 5802——Windows 10
  6. vim 多行添加注释,取消注释
  7. Qt图形界面编程入门(创建一个简单的程序)
  8. EditPlus使用技巧(汇总)
  9. MySQL运算符ppt_mysql运算符
  10. 国内首位!Node.js社区将阿里云工程师张秋怡吸纳为CTC成员
  11. Vijos P1911 珠心算测验【序列处理】
  12. c语言第四章选择结构作业,《c语言程序设计教程》林芳易云飞》第四章选择结构例题,习题详解...
  13. Laravel Eloquent 数据查询结果中日期的格式化
  14. 把chrome的多微博插件FaWave变成桌面程序!
  15. 基于JavaSwing+MySQL实现的超市商品管理系统
  16. 上天入地无所不能的C语言(一)
  17. 《数据统计分析及R语言编程(第二版)》练习题总结(一)
  18. Map的取值方式详解
  19. 福州大学考研计算机专业课,【20考研】福州大学计算机考研分数统计
  20. xshell连接服务器提示拒绝密码

热门文章

  1. 想成为时间管理大师?试试番茄工作法!(内含 Python 实现)
  2. mysql查询并更新_MySQL如何实现更新查询?
  3. RSA加密算法Python实现
  4. 常用 icon 素材网站
  5. 基于matlab数字基带,基于MATLAB的数字基带传输系统的仿真设计
  6. 苹果数据线突然不能充电了_苹果8p突然不能充电了
  7. 云计算与大数据第16章 分布式内存计算平台Spark习题
  8. eclipse提示找不到类的解决方法
  9. Spring Cloud Alibaba — Nacos
  10. MyBatis 二级缓存 关联刷新实现