清华大学2001年计算机专业考研真题

合集下载

计算机考研专业课真题及答案解析

计算机考研专业课真题及答案解析

一、单项选择题: 1-40 题,每题 20 分共 80 分。

在每个小题给出的四个选项中 选正确答案。

1 、若元素 a 、b 、c 、d 、e 、f 依次进栈,允许进栈、退栈操作交替进行,但不允 许连续三次进行退栈工作,则不可能得到的出栈序列是()某队列允许在其两端进行入队操作,但仅允许在一端进行出队操作,则不可 能得到的顺顺序是()下列线索二叉树中(用虚线表示线索),符合后序线索树定义的是() 在下列所示的平衡二叉树中插入关键字 48后得到一棵新平衡二叉树, 在新平 衡二叉树中,关键字 37 所在结点的左、右子结点中保存的关键字分别是()在一棵度数为4的树T 中,若有20个度为4的结点,10个度为3的结点,1 个度为2的结点,10个度为1的结点,则树T 的叶结点个数是() A 、 dcebfa B 、 cbdaef C 、 bcaefd D 、afedcb 2、 A 、 bacde B 、 dbace C 、 dbcae D 、ecbad 3、4、A 、 13, 48B 、 24, 48C 、 24, 53D 、24, 90 5、A 、 41B 、 82C 、113D 122 &对n (n>=2)个权值均不相同的字符构成哈弗曼树,关于该树的叙述中,错误的是()该树一定是一棵完全二交叉树中任一非叶结点的权值一定不小于下一层任一结点的权值若无向图G=(V.E )中含7个顶点,则保证图G 在任何情况下都是连通的, 则需要的边数最少是()A 、21对下图进行拓扑排序,可以得到不同的拓扑序列的个数是()B 、C 、已知一个长度为16的顺序表L ,其元素按关键字有序排列,若采用折半查找 法查找一个不存在的元素,则比较次数最多的是()B 、C 、B 、 树中一定没有度为1的结点C 、 树中两个权值最小的结点一定是兄弟结点7、 B 、 15 C 、16 8、 9、10、采用递归方式对顺序表进行快速排序, 下列关于递归次数的叙述中,正确的 是 递归次数于初始数据的排列次数无关每次划分后,先处理较长的分区可以减少递归次数(勤思考研)递归次数与每次划分后得到的分区处理顺序无关第一趟:2, 12, 16, 5, 第二趟:2, 12, 5, 10, 第三趟:2, 5, 10, 12, 则采用的排序方法可能是 A. 冒泡排序法 B. 希尔排序法 C. 归并排序法D. 基数排序法 12.下列选项中,能缩短程序执行时间的措施是() 1.提高CPU 时钟频率2.优化通过数据结构3.优化通过程序 A. 仅1和2 B. 仅1和3 C, 仅2和3 D. 1,2,313. 假定有4个整数用8位补码分别表示r 仁FEH r2=F2H, r3=90H , r4=F8H,若将运算结果存放在一个8位寄存器中,则下列运算会发生益处的是()A. r1 x r2B. r2 x r3C. r1 x r4D. r2 x r4 14.假定变量i ,f,d 数据类型分别为int, float,double (i nt 用补码表示,float和double 用IEEE754单精度和双精度浮点数据格式表示),已知i=785 ,()B 、C 、 每次划分后,先处理较短的分区可以减少递归次数11、对一组数据(2,12, 16, 88, 5, 10)进行排序,若前三趟排序结果如下:()10, 16, 8888 88f=1.5678e3 , d=1.5e100,若在32位机器中执行下列关系表达式,则结果为真的是()(I)i==( in t)(float)l (ll)f==(float)(i nt)f (lll)f==(float)(double)f(IV)(d+f)-d==fA. 仅l和llB. 仅l和lllC. 仅ll和lllD. 仅lll和lV15.假定用若干个2K x 4位芯片组成一个8K x 8为存储器,则0B1FH所在芯片的最小地址是()A.OOOOHB.0600HC.0700HD.0800H16.下列有关RAM和ROM得叙述中正确的是() l RAM是易失性存储器,ROM是非易失性存储器II RAM和ROM都是采用随机存取方式进行信息访问Ill RAM 和ROlW可用做CacheIV RAM和ROMP需要进行刷新A.仅I和IIB.仅II 和IllC.仅I , II , Ill精选文库D.仅II , III , IV17.下列命令组合情况,一次访存过程中,不可能发生的是()A.TLB未命中,Cache未命中,Page未命中B.TLB未命中,Cache命中,Page命中C.TLB命中,Cache未命中,Page命中D.TLB命中,Cache命中,Page未命中18.下列寄存器中,反汇编语言程序员可见的是()A.存储器地址寄存器(MAR)B.程序计数器(PC)C.存储区数据寄存器(MDR)D.指令寄存器(IR)19.下列不会引起指令流水阻塞的是()A.数据旁路B.数据相关C.条件转移D.资源冲突20.下列选项中的英文缩写均为总线规范的是()A. PCI、CRT USB EISAB. ISA、CPI、VESA EISAC. ISA、SCSk RAM MIPSD. ISA、EISA、PCI、P CI-Ex press21、单级中断系统中, 中断服务程序执行顺序是()I保护现场II开中断III关中断IV保存断点V中断事件处理VI恢复现场VII 中断返回A、I->V->VI->II->VIIB、III->I->V->VIIC、III->IV->V->VI->VIIIV->I->V->VI->VII22、假定一台计算机的显示存储器用DRAMS片实现,若要求显示分辨率为1600*1200,颜色深度为24位,帧频为85HZ现实总带宽的50卿来刷新屏幕, 则需要的显存总带宽至少约为()A、245Mb psB、979Mb psC、1958Mb ps7834Mb ps23、下列选项中,操作S提供的给应程序的接口是()A、系统调用B、中断C、库函数原语24、下列选项中,导制创进新进程的操作是()I用户登陆成功II设备分配III启动程序执行A、仅I和IIB 、仅 II 和 IIIC 、仅I 和IIID I 、 II 、 III25、设与某资源相关联的信号量初值为 3,当前值为1,若M 表示该资源的可用 个数, 0,1, 2,26、下列选项中,降低进程优先权级的合理时机是() 进程长期处于就绪列队 进程从就绪状态转为运行状态27、进行PO 和P1的共享变量定义及其初值为() booleam flag[2] 。

清华计算机考研试题

清华计算机考研试题

清华计算机考研试题《数据结构》一、选择题123 给了一序列比如6.7.4.8.9.3.散列函数是H(key)=key%11.一问成功时的平均搜索长度二问不成功的平均搜索长度4 哪种数据结构,从某一个结点到根结点的路径序列组成一个降序排列a. b.最大堆 c.最小堆 d5 还有一个题是关于关键路径的,答案选项是49/B -C \A /F\ \\D-E H\G/6 什么是数据结构? A B C定义在一个数据集合上的属性和操作 D7 高度为h的完全二叉树,一共有多少种?A B 2^(h-1) C D二、证明题1. 什么样的有向无环图有唯一的拓扑有序序列,并证明。

三、计算题1 有n个结点的二叉树最大高度,最小高度分别是多少?其中g和f函数的作用是通过输入参数,进行一系列运算后返回。

相当于Ti 以a和a[i-1]为输入参数,a和b为输出。

要求使用pv原语,实现T1~Tn-1的并发互斥,尽量保证最大限度的并发。

(a[i-1]为Ti-1线程的结果,)四、进程同步问题假设当前处于非抢占调度策略,进程只有两种方式可以放弃cpu,一个是主动调用系统调度函数yield(),此时进程主动放弃cpu;另一个方式是当进程执行I/O 操作时,系统将调度下一个进程。

试分析如下三种进程对,何时会出现不符合下列原则,并说明原因:1)空闲则入 2)有限等待 3)保证互斥。

第一种:Thread1(){yield();----critical section-----g=g+b;f=g-a; //这部分确切的语句想不起来了,但不影响。

只要记得临界区不能被打断。

----critical section-----}Thread2(){----critical section-----g=g+b;f=g-a;----critical section-----}第二种:Thread1(){yield();----critical section-----g=g+b;f=g-a;----critical section----- }Thread2(){----critical section-----g=g+b;f=g-a;----critical section-----yield();}第三种:Thread1(){yield();----critical section-----g=g+b;fstring=printf(……) ; // 调用I/O;f=g-a;----critical section-----}Thread2(){yield();----critical section-----g=g+b;f=g-a;----critical section-----}五文件操作题很长,大意如下给定两种文件系统,分别采用FAT方式和索引方式组织文件结构。

清华大学计算机原理2001真题

清华大学计算机原理2001真题

清华大学2001年硕士入学计算机原理试题一、(10分)某RISC处理机各类指令使用频率和理想CPI(指令和数据访问Cache命中率为100%时的CPI)如下表所示。

而实际测得的指令访问Cache缺失率(miss rate)为5%,数据访问的Cache缺失率为10%,Cache的缺失损失(miss penalty)为40个时钟周期。

(1)该机器在无Cache缺失(理想情况)时的CPI是多少?(3分)(2)该机器在无Cache缺失(理想情况)时的速度比有Cache缺失时快多少倍?(7分)指令类型使用频率CPI idealALU操作43%1Loads21%2Stores12%2Branches24%2二、(13分)一台模型机共有7条指令,主频25MHz,各指令的使用频率与CPI如下表所示。

该模型机有8位和16位两种指令字长,采用2-4扩展操作码。

8位字长指令为寄存器(R-R)二地址类型,16位字长指令为寄存器-存储器(R-M)二地址变址寻址类型(-128<=变址范围<=127)。

指令(字长)使用频度f CPII1(8位)35%1I2(8位)25%2I3(8位)20%2I4(16位)10%2I5(16位)5%1I6(16位)3%2I7(16位)2%2(1)计算该机的MIPS速率。

(4分)(2)计算操作码的平均码长。

(3分)(3)该机允许使用多少个可编址的通用寄存器,多少变址寄存器?(3分)(4)设计该机的两种指令格式,标出各字段位数并给出操作编码。

(3分)三、(12分)假设在一个采用组织相联映像方式的Cache中,主存有B0~B7共8块组成,Cache有C0~C3共4块,组内块数为2块。

每块的大小为32个字节,采用FIFO块替换算法。

在一个程序执行过程中依次访问块地址流如下:B1,B4,B6,B3,B0,B4,B6,B2,B4,B5。

清华大学研究生入学计算机组成原理试卷2

清华大学研究生入学计算机组成原理试卷2

清华大学研究生入学试卷二一.一.选择题(每小题1分,共10分)。

1.定点8位字长的字,采用2的补码形式表示时,一个字所表示的整数范围是___。

A.–128—+127B.-127—+127C.-129—+128D.-128—+1282.运算器虽有许多部件组成,但核心部分是___。

A.数据总线B.算术逻辑单元C.多路开关D.通用寄存器3.某计算机字长32位,其存储容量是1MB,若按字编址,它的寻址范围是___。

A.0—1MB.0—512KBC.0—256KD.0—256KB4.二地址指令中,操作数的物理位置可安排在___。

A.栈顶和次栈顶B.两个主存单元C.一个主存单元和一个寄存器D.两个寄存器5.描述多媒体CPU的基本概念中,正确的表述是___。

A.多媒体CPU是带有MMX技术的处理器.B.MMX是一种多媒体扩展结构.C.MMX指令集是一种MIMD(多指令流多数据流)的并行处理指令.D.多媒体CPU是以超标量结构为基础的CISC的基础.6.在下面描述的RISC机器基本概念中,不正确的表述是____。

A.A.RISC机器不一定是流水CPU.B.B.RISC机器一定是流水CPU.C.C.RISC机器有复杂的指令系统.D.D.CPU配备很少的通用寄存器.7.在下面描述的PCI总线基本概念中,不正确的表述是___。

A.PCI总线是一个与处理器无关的高速外围总线.B.PCI总线的基本传输机制是猝发式传送.C.PCI设备一定是主设备.D.系统中允许只有一条PCI总线.8.CRT的分辨率为1024×1024像素,像素的颜色总数为256色,则刷新存储器每个单元字长是___。

A.256位B.16位C.8位D.7位9.在单级中断系统中,CPU一旦响应中断,则立即关闭___标志,以防止本次中断服务结束前同级的其他中断源产生另一次中断进行干扰。

A.中断允许B.中断请求C.中断屏蔽10.为了便于实现多级中断,保有现场信息最有效的方法是采用___。

[考研类试卷]计算机专业基础综合数据结构(排序)历年真题试卷汇编9.doc

[考研类试卷]计算机专业基础综合数据结构(排序)历年真题试卷汇编9.doc

[考研类试卷]计算机专业基础综合数据结构(排序)历年真题试卷汇编9一、综合题1 如果只要找出一个具有n个元素的集合的第k(1≤k≤n)个最小元素,你所学过的排序方法中哪种最适合?给出实现的思想。

【北方交通大学1998六(10分)】2 设结点个数为n,请问采用堆排序法进行排序,其时间复杂性是多少?请以大O 形式给出,并给出证明。

【上海交通大学2004四(10分)】2 已知待排序的序列为(503,87,512,6l,908,170,897,275,653,462),试完成下列各题。

3 根据以上序列建立一个堆(画出第一步和最后堆的结果图),希望先输出最小值。

4 输出最小值后,如何得到次小值(并画出相应结果图)。

【同济大学2001二(10分)】4 试将关键字序列(56,塾,55,67,46,58,18,88)5 调整成一个初始大顶堆,用二叉树形式说明调整过程;6 简要说明如何从初始大顶堆开始进行排序。

【华中科技大学2007四、24(10分)】7 一组记录的关键字为(50,79,8,56,32,41,85),给出利用重建堆方法建立的初始堆(堆顶最大),并给出堆排序的过程。

【吉林大学2007二、5(4分)】8 已知序列{503,87,512,61,908,170,897,275,653,462)将其调整为堆(大堆顶,即K i≥K2i,K i≥K2i+1)。

【中国海洋大学2006一、4(8分)】9 给定关键字序列(20,18,9,86,72,12,27,40)。

试将该序列建成小根堆。

10 判断下面的每个结点序列是否表示一个堆,如果不是堆,请把它调整成堆。

①100,90,80,60,85,75,20,25,10,70,65,50②100,70,50,20,90,75,60,25,10,85,65,80【复旦大学1997二(8分)】11 全国有10000人参加物理竞赛,只录取成绩优异的前10名,并将他们从高分到低分输出。

清华大学408计算机学科专业基础综合考研参考书目、考研真题、复试分数线

清华大学408计算机学科专业基础综合考研参考书目、考研真题、复试分数线

文化艺术出版社
《美学概论》
人民出版社
602 (建筑/城市、景 《中国城市建设史》 中国建筑工业出版社
作者
王向荣
[英]杰弗瑞·杰里柯//苏 珊杰·里柯 译者:刘滨 谊
周维权
董鉴泓,主编 沈玉麟,编 刘敦祯 潘谷西 陈志华 罗小未 高等艺术院校《艺术概 论》出版组 王朝闻主编 董鉴泓,主编
专注清华大学考研辅导
Stuart C.Poole
Linguistics 》
//166.111.107.7 下载)
616 艺术美学
《现代艺术哲学》 四川人民出版社 《美学与艺术欣赏》 高等教育出版社
H.G.布洛克 肖鹰
《新闻学概论》
中国传媒大学出版社,2007
刘建明
《转型中的新闻学》 南方日报出版社,2005
李希光
618 新闻与传播史 论
刘敦祯
《中国建筑史》
中国建筑工业出版社
潘谷西
《外国建筑史》
中国建筑工业出版社
陈志华
《外国近现代建筑史》中国建筑工业出版社
罗小未
603 数学分析
《数学分析新讲》 《数学分析》
北京大学出版社 上海科学技术出版社
张筑生 周民强,方企勤
604 普通物理
《大学物理》(第二版) 清华大学出版社
第一册至四册
张三慧
范钦珊等 刘鸿文
《材料力学》
高等教育出版社
孙训方
834 工程热力学 《工程热力学》
高等教育出版社
曾丹苓
835 理论力学及自 《理论力学》
动控制原理
《自动控制原理》
清华大学出版社 清华大学出版社
李俊峰 吴麒
836 普通物理(力 《大学物理》一、二、 清华大学出版社(第二版)

清华计算机试卷

清华计算机试卷

2001年数据结构与程序设计试题内容:一、试给出下列有关并查集(mfsets)的操作序列的运算结果:union(1,2) , union(3,4) , union(3,5) , union(1,7) , union(3,6) , union(8,9) , union(1,8) , union(3,10) , union(3,11) , union(3,12) , union(3,13) , union(14,15) , union(16,0) , u nion(14,16) , union(1,3) , union(1,14)。

(union是合并运算,在以前的书中命名为merge)要求(1) 对于union(i,j),以i作为j的双亲;(5分)(2) 按i和j为根的树的高度实现union(i,j),高度大者为高度小者的双亲;(5分)(3) 按i和j为根的树的结点个数实现union(i,j),结点个数大者为结点个数小者的双亲;(5分)二、设在4地(A,B,C,D)之间架设有6座桥,如图所示:要求从某一地出发,经过每座桥恰巧一次,最后仍回到原地(1) 试就以上图形说明:此问题有解的条件是什么? (5分)(2) 设图中的顶点数为n,试用C或Pascal描述与求解此问题有关的数据结构并编写一个算法,找出满足要求的一条回路. (10分)三、针对以下情况确定非递归的归并排序的运行时间(数据比较次数与移动次数):(1) 输入的n个数据全部有序; (5分)(2) 输入的n个数据全部逆向有序; (5分)(3) 随机地输入n个数据. (5分)四、简单回答有关AVL树的问题.(1) 在有N个结点的AVL树中,为结点增加一个存放结点高度的数据成员,那么每一个结点需要增加多少个字位(bit)? (5分)(2) 若每一个结点中的高度计数器有8bit,那么这样的AVL树可以有多少层?最少有多少个关键码? (5分)五、设一个散列表包含hashSize=13个表项,.其下标从0到12,采用线性探查法解决冲突. 请按以下要求,将下列关键码散列到表中.10 100 32 45 58 126 3 29 200 400 0(1) 散列函数采用除留余数法,用%hashSize(取余运算)将各关键码映像到表中. 请指出每一个产生冲突的关键码可能产生多少次冲突. (7分)(2) 散列函数采用先将关键码各位数字折叠相加, 再用%hashSize将相加的结果映像到表中的办法. 请指出每一个产生冲突的关键码可能产生多少次冲突. (8分)六、设一棵二叉树的结点定义为struct BinTreeNode{ElemType data;BinTreeNode *leftChild, *rightChild;}现采用输入广义表表示建立二叉树. 具体规定如下:(1) 树的根结点作为由子树构成的表的表名放在表的最前面;(2) 每个结点的左子树和右子树用逗号隔开. 若仅有右子树没有左子树, 逗号不能省略.(3) 在整个广义表表示输入的结尾加上一个特殊的符号(例如”#”)表示输入结果.例如,对于如右图所示的二叉树, 其广义表表示为A(B(D,E(G,)),C(,F))A/ \B C/ \ \D E F/G此算法的基本思路是:依次从保存广义表的字符串ls中输入每个字符. 若遇到的是字母(假定以字母作为结点的值), 则表示是结点的值, 应为它建立一个新的结点, 并把该结点作为左子女(当k=1)或有子女(当k= 2)链接到其双亲结点上. 若遇到的是左括号”(“, 则表明子表的开始,将k置为1;若遇到的是右括号”)”,则表明子表结果. 若遇到的是逗号”,”, 则表示以左子女为根的子树处理完毕,应接着处理以右子女为根的子树, 将k置为2.在算法中使用了一个栈s, 在进入子表之前,将根结点指针进栈, 以便括号内的子女链接之用. 在子表处理结束时退栈. 相关的栈操作如下:MakeEmpty(s) 置空栈Push(s,p) 元素p进栈Pop(s) 进栈Top(s) 存取栈顶元素的函数下面给出了建立二叉树的算法, 其中有5个语句缺失. 请阅读此算法并把缺失的语句补上. (每空3分)Void CreateBinTree(BinTreeNode *&BT, char ls){Stack<BinTreeNode*>s; MakeEmpty(s);BT=NULL; //置二叉树BinTreeNode *p;int k;istream ins(ls); //把串ls定义为输入字符串流对象insChar ch;ins>>ch; //从ins顺序读入一个字符While(ch!=”#”){ //逐个字符处理,直到遇到'#'为止Switch(ch){case’(‘: _______(1)_______k=1;break;case’)’: pop(s);break;case’,‘: _______(2)_______break;default: p=new BinTreeNode;_______(3)_______p->leftChild=NULL;p->rightChild=NULL;if(BT==NULL)_______(4)_______else if (k==1) top(s)->leftChild=p;else top(s)->rightChild=p;}_______(5)_______}}七、下面是一个用C编写的快速排序算法. 为了避免最坏情况,取基准记录pivot采用从left,right和mi d=[(left+right)/2]中取中间值, 并交换到right位置的办法. 数组a存放待排序的一组记录, 数据类型为Type, left和right是呆排序子区间的最左端点和最右端点.Void quicksort(Type a&#;,int left,int right){Type temp;If(left<right){Type pivot=median3(a,left,right);Int I=left, j=right-1;For( ; ; ){While(i<j && a[i]<pivot) i++;While(i<j && pivot<a[j]) j--;if(i<j){temp=a[i]; a[j]=a[i]; a[i]=temp;I++; j--;}else break;}if(a[i]>pivot){temp=a[i]: a[i]=a[right]; a[right]=temp;}quicksort(a,left,i-1); //递归排序左子区间quicksort(a,i+1,right); //递归排序右子区间}}(1) 用C 或Pascal 实现三者取中子程序 median3(a,left,right); (5分)(2) 改写 quicksort 算法, 不用栈消去第二个递归调用 quicksort(a,i+1,right); (5分)(3) 继续改写 quicksort 算法, 用栈消去剩下的递归调用. (5分)编译原理及操作系统试题内容:编译原理部分1.(5%) 给出下述NFA M 的五元组表示, 并将其确定化2 (5%) 构造一个不具有ε-转移的NFA M ’ , 使得L(M ’)=L(M)3 (10%) 证明文法G[A]是LR(1)文法.G[A]: A->BA|εB->aB|b4 (5%) 证明合并不存在冲突(移进/归约、归约/归约)的LR(1)项目集的同心集不会产生新的移进/归约冲突.5.(5%) 对目标代码运行时的存储空间采用基于过程活动记录的栈式分配方案, 举例说明象PASCAL 这样的语言如何实现对非局部变量的访问.6(15%) 文法G[R]: R->R+R | R ·R | R*| (R) | a | b | ε(1)证明文法G[R] 生成字母表Σ={a, b} 上的所有正规表达式(用+代替”|”, 连接符·没有省略)(2)证明此文法是二义的(3)根据正规式的三个运算符(+,·, *) (或, 连接, 闭包) 的优先性和结合性约定重新构造一个等价的LL(1) 文法7(5%) 找出下列流图中的回边和回边组成的循环.编译中利用流图完成什么工作?操作系统部分一、名次解释(10分)多道程序、多重处理、进程、线程、虚存二、画出NT操作系统的线程状态转移图(10分)三、UNIX系统与Linux系统等中都提供pipe文件功能,简述pipe() 的工作原理。

2001年清华大学计算机原理考研试题

2001年清华大学计算机原理考研试题

2001年清华大学计算机原理考研试题试题内容:一、(10分)某RISC处理机各类指令使用频率和理想CPI(指令和数据访问Cache命中率为100%时的CPI)如下表所示。

而实际测得的指令访问Cache缺失率(miss rate)为5%,数据访问的Cache缺失率为10%,Cache的缺失损失(miss penalty)为40个时钟周期。

该机器在无Cache缺失(理想情况)时的CPI是多少?(3分)该机器在无Cache缺失(理想情况)时的速度比有Cache缺失时快多少倍?(7分)指令类型使用频率CPI idealALU操作43% 1Loads 21% 2Stores 12% 2Branches 24% 2二、(13分)一台模型机共有7条指令,主频25MHz,各指令的使用频率与CPI如下表所示。

该模型机有8位和16位两种指令字长,采用2-4扩展操作码。

8位字长指令为寄存器(R-R)二地址类型,16位字长指令为寄存器-存储器(R-M)二地址变址寻址类型(-128<=变址范围<=127)。

指令(字长)使用频度f CPII1(8位)35% 1I2(8位)25% 2I3(8位)20% 2I4(16位)10% 2I5(16位)5% 1I6(16位)3% 2I7(16位)2% 2计算该机的MIPS速率。

(4分)计算操作码的平均码长。

(3分)该机允许使用多少个可编址的通用寄存器,多少变址寄存器?(3分)设计该机的两种指令格式,标出各字段位数并给出操作编码。

(3分)三、(12分)假设在一个采用组织相联映像方式的Cache中,主存有B0~B7共8块组成,Cache有C0~C3共4块,组内块数为2块。

每块的大小为32个字节,采用FIFO块替换算法。

在一个程序执行过程中依次访问块地址流如下:B1,B4,B6,B3,B0,B4,B6,B2,B4,B5写出主存地址的格式,并标出各字段的长度(3分)写出Cache地址的格式,并标出各字段的长度(3分)画出主存与Cache之间各个块的映像对应关系(3分)列出程序执行过程中Cache的块地址流分布情况。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

编译原理及操作系统
试题内容:
编译原理部分 1.(5%) 给出下述 NFA M 的五元组表示, 并将其确定化
0
1
1
q0
0
q1
1
2 (5%) 构造一个不具有ε-转移的 NFA M’ , 使得 L(M’)=L(M)
0
1
2
q0
q1
q2
3 (10%) 证明文法 G[A]是 LR(1)文法. G[A]: A->BA|ε B->aB|b
Void quicksort(Type a&#;,int left,int right){
Type temp;
If(left<right){
Type pivot=median3(a,left,right);
Int I=left, j=right-1;
For( ; ; ){
While(i<j && a[i]<pivot) i++;
4 (5%) 证明合并不存在冲突(移进/归约、归约/归约)的 LR(1)项目集的同心集不会产生新的 移进/归约冲突.
5.(5%) 对目标代码运行时的存储空间采用基于过程活动记录的栈式分配方案, 举例说明象 PASCAL 这样的语言如何实现对非局部变量的访问.
6(15%) 文法 G[R]: R->R+R | R·R | R*| (R) | a | b | ε
A /\ BC /\ \ DE F / G
此算法的基本思路是:依次从保存广义表的字符串 ls 中输入每个字符. 若遇到的是字母(假定以字母作为结 点的值), 则表示是结点的值, 应为它建立一个新的结点, 并把该结点作为左子女(当 k=1)或有子女(当 k= 2)链接到其双亲结点上. 若遇到的是左括号”(“, 则表明子表的开始,将 k 置为 1;若遇到的是右括号”)”,
二、设在 4 地(A,B,C,D)之间架设有 6 座桥,如图所示:
要求从某一地出发,经过每座桥恰巧一次,最后仍回到原地 (1) 试就以上图形说明:此问题有解的条件是什么? (5 分) (2) 设图中的顶点数为 n,试用 C 或 Pascal 描述与求解此问题有关的数据结构并编写一个算法,找出满足要 求的一条回路. (10 分) 三、针对以下情况确定非递归的归并排序的运行时间(数据比较次数与移动次数): (1) 输入的 n 个数据全部有序; (5 分) (2) 输入的 n 个数据全部逆向有序; (5 分) (3) 随机地输入 n 个数据. (5 分)
Char ch;
ins>>ch;
//从 ins 顺序读入一个字符
ห้องสมุดไป่ตู้
While(ch!=”#”){
//逐个字符处理,直到遇到'#'为止
考研 1 号网独家提供 考研 1 号网址:
考研 1 号网:有你有我 共同进步
Switch(ch){ case’(‘: _______(1)_______ k=1; break; case’)’: pop(s); break; case’,‘: _______(2)_______ break; default: p=new BinTreeNode; _______(3)_______ p->leftChild=NULL; p->rightChild=NULL; if(BT==NULL) _______(4)_______ else if (k==1) top(s)->leftChild=p; else top(s)->rightChild=p; } _______(5)_______ } }
七、下面是一个用 C 编写的快速排序算法. 为了避免最坏情况,取基准记录 pivot 采用从 left,right 和 mi d=[(left+right)/2]中取中间值, 并交换到 right 位置的办法. 数组 a 存放待排序的一组记录, 数据类型
为 Type, left 和 right 是呆排序子区间的最左端点和最右端点.
While(i<j && pivot<a[j]) j--;
if(i<j){
temp=a[i]; a[j]=a[i]; a[i]=temp;
I++; j--;
}
else break;
}
if(a[i]>pivot)
{temp=a[i]: a[i]=a[right]; a[right]=temp;}
quicksort(a,left,i-1);
造一个等价的 LL(1) 文法
7(5%) 找出下列流图中的回边和回边组成的循环.编译中利用流图完成什么工作? B1
B2
B3
B4 B6
B5
B7
操作系统部分 一、名次解释(10 分)
多道程序、多重处理、进程、线程、虚存 二、画出 NT 操作系统的线程状态转移图(10 分) 三、UNIX 系统与 Linux 系统等中都提供 pipe 文件功能,简述 pipe() 的工作原理。(10 分) 四、设周期性任务 P1,P2,P3 的周期 T1,T2,T3 分别为 100,150,350;执行时间分别
考研 1 号网独家提供 考研 1 号网址:
考研 1 号网:有你有我 共同进步
的关键码可能产生多少次冲突. (7 分) (2) 散列函数采用先将关键码各位数字折叠相加, 再用%hashSize 将相加的结果映像到表中的办法. 请 指出每一个产生冲突的关键码可能产生多少次冲突. (8 分)
union(3,10) , union(3,11) , union(3,12) , union(3,13) , union(14,15) , union(16,0) , u nion(14,16) , union(1,3) , union(1,14)。(union 是合并运算,在以前的书中命名为 merge) 要求 (1) 对于 union(i,j),以 i 作为 j 的双亲; (5 分) (2) 按 i 和 j 为根的树的高度实现 union(i,j),高度大者为高度小者的双亲; (5 分) (3) 按 i 和 j 为根的树的结点个数实现 union(i,j),结点个数大者为结点个数小者的双亲; (5 分)
考研 1 号网:有你有我 共同进步
清华大学 2001 年数据结构与程序设计 试题内容: 一、试给出下列有关并查集(mfsets)的操作序列的运算结果: union(1,2) , union(3,4) , union(3,5) , union(1,7) , union(3,6) , union(8,9) , union(1,8) ,
六、设一棵二叉树的结点定义为 struct BinTreeNode{ ElemType data; BinTreeNode *leftChild, *rightChild; } 现采用输入广义表表示建立二叉树. 具体规定如下: (1) 树的根结点作为由子树构成的表的表名放在表的最前面; (2) 每个结点的左子树和右子树用逗号隔开. 若仅有右子树没有左子树, 逗号不能省略. (3) 在整个广义表表示输入的结尾加上一个特殊的符号(例如”#”)表示输入结果. 例如,对于如右图所示的二叉树, 其广义表表示为 A(B(D,E(G,)),C(,F))
//递归排序左子区间
quicksort(a,i+1,right);
//递归排序右子区间
}
考研 1 号网独家提供 考研 1 号网址:
考研 1 号网:有你有我 共同进步
} (1) 用 C 或 Pascal 实现三者取中子程序 median3(a,left,right); (5 分) (2) 改写 quicksort 算法, 不用栈消去第二个递归调用 quicksort(a,i+1,right); (5 分) (3) 继续改写 quicksort 算法, 用栈消去剩下的递归调用. (5 分)
Void CreateBinTree(BinTreeNode *&BT, char ls){
Stack<BinTreeNode*>s; MakeEmpty(s);
BT=NULL;
//置二叉树
BinTreeNode *p;
int k; istream ins(ls);
//把串 ls 定义为输入字符串流对象 ins
四、简单回答有关 AVL 树的问题. (1) 在有 N 个结点的 AVL 树中,为结点增加一个存放结点高度的数据成员,那么每一个结点需要增加多少个 字位(bit)? (5 分) (2) 若每一个结点中的高度计数器有 8bit,那么这样的 AVL 树可以有多少层?最少有多少个关键码? (5 分) 五、设一个散列表包含 hashSize=13 个表项,.其下标从 0 到 12,采用线性探查法解决冲突. 请按以下要 求,将下列关键码散列到表中. 10 100 32 45 58 126 3 29 200 400 0 (1) 散列函数采用除留余数法,用%hashSize(取余运算)将各关键码映像到表中. 请指出每一个产生冲突
为 20,40,100。试计算后回答是否可以用频率单调调度算法进行调度?(10 分) 五、I/O 控制可用那几种方式实现?各有何优缺点?(10 分)
考研 1 号网独家提供 考研 1 号网址:
则表明子表结果. 若遇到的是逗号”,”, 则表示以左子女为根的子树处理完毕,应接着处理以右子女为根 的子树, 将 k 置为 2. 在算法中使用了一个栈 s, 在进入子表之前,将根结点指针进栈, 以便括号内的子女链接之用. 在子表处理 结束时退栈. 相关的栈操作如下: MakeEmpty(s) 置空栈 Push(s,p) 元素 p 进栈 Pop(s) 进栈 Top(s) 存取栈顶元素的函数 下面给出了建立二叉树的算法, 其中有 5 个语句缺失. 请阅读此算法并把缺失的语句补上. (每空 3 分)
相关文档
最新文档