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

合集下载

国家计算机软考高级程序员历年真题1997

国家计算机软考高级程序员历年真题1997

1997年度高级程序员上午试卷试题1从供选择的答案中,选出应填入下面叙述中____?____内的最确切的解答,把相应编号写在答卷的对应栏内。

一种最早用于科学计算的程序设计语言是__A__;一种提供指针和指针操作且不存在布尔类型的、应用广泛的系统程序设计语言是__B__;一种适合在互联网上编写程序可供不同平台上运行的面向对象程序设计语言是__C__;一种在解决人工智能问题上使用最多的有强的表处理功能的函数程序设计语言是__D__;一种以谓词逻辑为基础的,核心是事实、规则和推理机制的实用逻辑程序设计语言是__E__。

供选择的答案A~E:① PASCAL② ADA③ SMALLTALK④ SNOBOL⑤ C⑥ ALGOL 68⑦ JAVA⑧ LISP⑨ PROLOG⑩ FORTRAN试题2从供选择的答案中,选出应填入下面叙述中___?___内的最确切的解答,把相应编号写在答卷的对应栏内。

在有一台处理机CPU和两台输入输出设备IO1和IO2,且能够实现抢先式多任务并行工作的多道程序内,投入运行优先级由高到低P1,P2,P3三个作业。

它们使用设备的先后顺序和占用设备时间分别是:作业P1:I02(30毫秒) CPU(10毫秒) IO1(30毫秒) CPU(10毫秒)作业P2:IO1(20毫秒) CPU(20毫秒) IO2(40毫秒)作业P3:CPU(30毫秒) IO1(20毫秒)在对于其它辅助操作时间可以忽略不计的假设下,作业P1,P2,P3从投入到完成所用的时间分别是__A__毫秒,__B__毫秒和___C___毫秒。

三个作业从投入运行到全部完成,CPU的利用率约为__D__%,IO1的利用率约为__E__%。

假定在系统中仅有这三个作业投入运行,各设备的利用率指该设备的使用时间同作业进程全部完成所占用最长时间的比率。

供选择的答案A~E:① 60② 67③ 70④ 78⑤ 80⑥ 89⑦ 90⑧ 100⑨ 110⑩ 120试题3从供选择的答案中,选出应填入下面叙述中__?__内的最确切的解答,把相应编号写在答卷的对应栏内。

清华大学考研清华大学1997年编译原理试题(50分)

清华大学考研清华大学1997年编译原理试题(50分)

清华大学1997硕士入学编译原理试题清华大学1997年研究生入学考试编译原理试题(共50分)1.(8分)已知正规式(1)((a|b)* |aa)*b和正规式(2)(a|b)*b,试用有限自动机的等价性证明正规式(1)和(2)是等价的,给出相应的正规文法。

2.(8分)已知文法G [A ]为:A→aABl|aB→Bb|d① 试给出与G[A]等价的LL(1)文法G[A]② 构造G'[A]的预测分析表给出输入串aade#的分析过程。

3.(8分)有文法G[S]为:S→a|b|(A)A→SdA|S完成下列算符优先关系表,并判断G[S]是否为算符优先文法。

G[S]的算符优先关系表表1 算符优先关系表① 给出句型(sdsds)的短语,简单短语句柄,素短语和最大素短语。

② 给出输入串(adb)#的分析过程。

4. (8分)已知文法G[S]为:S→aAd|;Bd|aB↑|;A↑A→aB→a① 试判断G[S]是否为LALR(1)文法② 当一个文法是LR(1)而不是LALR(1)时,那么LR(1)项目集的同心集合并后会出现哪几种冲突,请说明理由。

5.(6分)试对下面基本块进行优化① 应用DAG对该基本块进行优化,给出优化后的语句序列。

② 给出当只有L在基本块出口后为活跃时的优化结果。

基本块为:X=B*CY=B/CZ=X+YW=9*Z6.(6分)已知文法G[S]为:S→dABA→aA|aB→Bb|ε① 试向G[S]是否为正规文法,为什么?② G[S]新产生的语言是什么?G[S]能否改写为等价的正规文法?7.(6分)某语言允许过程嵌套定义和逆归调用(如PACAL语言),若在栈式动态存分配中采用嵌套层次显示表Display解决对非局部变量的引用问题,试给出下列程序执行到语句“b:=10;”时运行栈及Display 表的示意图。

var x, y;procedurc p;var a;procedure q;var b;begin(q)b : =10;end (q);procedure s;var c,d;procedure r;var e, f;begin (r)call q;edn (r);begin (s)call r;end (s);begin (p)call s;end (p);begin (main)call p;end (main).。

全国硕士研究生入学统一考试计算机专业基础综合真题及答案解析

全国硕士研究生入学统一考试计算机专业基础综合真题及答案解析

文档来源为 :从网络收集整理 .word 版本可编辑 .欢迎下载支持2015年全国硕士研究生入学统一考试计算机学科专业基础综合试题一、单项选择题: 140 小题,每小题 2 分,共 80 分。

下列每题给出的四个选项中,只 有一个选项符合题目要求。

请在答题卡上将所选项的字母涂黑。

1.已知程序如下: int s(int n) {return (n<=0) ? 0 : s(n-1) +n;}void main() { cout<< s(1); }程序运行时使用栈来保存调用过程的信息,自栈底到栈顶保存的信息一次对应的是 A . main()->S(1)->S(0) B . S(0)->S(1)->main() C . main()->S(0)->S(1)D . S(1)->S(0)->main()2. 先序序列为 a,b,c,d 的不同二叉树的个数是 A . 13B .14C .15D .163.下列选项给出的是从根分别到达两个叶节点路径上的权值序列,能属于同一棵哈夫 曼树的是序序列。

下列关于该平衡二叉树的叙述中,正确的是5. 设有向图 G=(V,E),顶点集 V={V o ,V i ,V 2,V 3},边集 E={<v 0,v i >,<v 0,v 2>,<v o ,v 3>,<v i ,v 3>}, 若从顶点 V 0 开始对图进行深度优先遍历,则可能得到的不同遍历序列个数是A. 2 B . 3C . 4D . 56.求下面带权图的最小(代价)生成树时,可能是克鲁斯卡(kruskal )算法第二次选 中但不是普里姆( Prim )算法(从 V 4开始)第 2 次选中的边是A. (V1,V3)B . (V1,V4)C . (V2,V3)D . (V3,V4)A . 24, 10, 5 和 24,10,7 C .24,10,10 和 24, 14,114.现在有一颗无重复关键字的平衡二叉树B .24,10,5 和 24, 12,7 D .24,10,5 和 24,14,6( AVL 树) ,对其进行中序遍历可得到一个降A .根节点的度一定为 2 C .最后插入的元素一定是叶节点B .树中最小元素一定是叶节点 D .树中最大元素一定是无左子树文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支持7. 下列选项中,不能构成折半查找中关键字比较序列的是A.500,200,450,180 B.500,450,200,180C.180,500,200,450 D.180,200,500,450&已知字符串S为“ abaabaabacacaabaabcc模式串t为“ abaabc '采用KMP算法进行匹配,第一次出现“失配”(s[i] != t[i]) 时,i=j=5, 则下次开始匹配时,i 和j 的值分别是A.i=1,j=0 B.i=5,j=0 C.i=5 ,j=2 D.i=6,j=29.下列排序算法中元素的移动次数和关键字的初始排列次序无关的是A .直接插入排序B .起泡排序C .基数排序D .快速排序10.已知小根堆为8,15,10,21,34,16,12,删除关键字8之后需重建堆,在此过程中,关键字之间的比较数是A. 1B. 2C. 3D. 411.希尔排序的组内排序采用的是()A .直接插入排序B .折半插入排序C .快速排序D .归并排序12.计算机硬件能够直接执行的是()I.机器语言程序n.汇编语言程序川.硬件描述语言程序A. 仅I B .仅I n C .仅I 川D. In出13.由 3 个“ 1 ”和5 个“ 0”组成的8位二进制补码, 能表示的最小整数是()A.-126 B . -125C. -32D. -314.下列有关浮点数加减运算的叙述中, 正确的是()I.对阶操作不会引起阶码上溢或下溢n.右规和尾数舍入都可能引起阶码上溢川.左规时可能引起阶码下溢I V 尾数溢出时结果不一定溢出A.仅n 川 B .仅inv C .仅I川V D. In川V15.假定主存地址为32 位,按字节编址,主存和Cache 之间采用直接映射方式,主存块大小为4 个字,每字32位,采用回写( Write Back )方式,则能存放4K 字数据的Cache 的总容量的位数至少是()A. 146kB. 147KC. 148KD. 158K16.假定编译器将赋值语句“x=x+3;转换为指令” add xaddt, 3,其'中xaddt是x对应的存储单元地址,若执行该指令的计算机采用页式虚拟存储管理方式,并配有相应的TLB ,文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支持且Cache使用直写(Write Through )方式,则完成该指令功能需要访问主存的次数至少是()文档来源为 :从网络收集整理 .word 版本可编辑 .欢迎下载支持A . 0B .1C .2D .317.下列存储器中,在工作期间需要周期性刷新的是() A . SRAMB .SDRAMC .ROMD .FLASH18.某计算机使用 4 体交叉存储器,假定在存储器总线上出现的主存地址(十进制)序 列为 8005, 8006,8007, 8008,8001,8002,8003,8004,8000,则可能发生发生缓存冲 突的地址对是()B .8002、8007C .8001、 8008D .8000、8004 19.下列有关总线定时的叙述中,错误的是()A •异步通信方式中,全互锁协议最慢 B. 异步通信方式中,非互锁协议的可靠性最差 C. 同步通信方式中,同步时钟信号可由多设备提供 D. 半同步通信方式中,握手信号的采样由同步时钟控制20. 若磁盘转速为 7200转/分,平均寻道时间为 8ms,每个磁道包含1000个扇区,则访 问一个扇区的平均存取时间大约是 ( )A. 8.1ms B . 12.2msC . 16.3msD . 20.5ms21. 在采用中断I/O 方式控制打印输出的情况下,CPU 和打印控制接口中的I/O 端口之 间交换的信息不可能是 ( )A .打印字符B .主存地址C .设备状态D .控制命令22. 内部异常(内中断)可分为故障(fault)、陷阱(trap)和终止(abort)三类。

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

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

一、单项选择题: 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方式和索引方式组织文件结构。

考研计算机学科专业基础综合真题汇编及答案解析(9)

考研计算机学科专业基础综合真题汇编及答案解析(9)

考研计算机学科专业基础综合真题汇编及答案解析(9)(1/27)单项选择题第1题文件系统用位图法表示磁盘空间的分配情况,位图存于磁盘的32~127号块中,每个盘块占1024个字节,盘块和块内字节均从0开始编号。

假设要释放的盘块号为409612,则位图中要修改的位所在的盘块号和块内字节序号分别是_______。

A.81、1B.81、2C.82、1D.82、2下一题(2/27)单项选择题第2题假设磁头当前位于第105道,正在向磁道序号增加的方向移动。

现有一个磁道访问请求序列为35,45,12,68,110,180,170,195,采用SCAN调度(电梯调度)算法得到的磁道访问序列是_______。

A.110,170,180,195,68,45,35,12B.110,68,45,35,12,170,180,195C.110,170,180,195,12,35,45,68D.12,35,45,68,110,170,180,195上一题下一题(3/27)单项选择题第3题某硬盘有200个磁道(最外侧磁道号为0),磁道访问请求序列为:130,42,180,15,199,当前磁头位于第58号磁道并从外侧向内侧移动。

按照SCAN调度方法处理完上述请求后,磁头移过的磁道数是_______。

A.208B.287C.325D.382上一题下一题(4/27)单项选择题第4题本地用户通过键盘登录系统时,首先获得键盘输入信息的程序是_______。

A.命令解释程序B.中断处理程序C.系统调用服务程序D.用户登录程序上一题下一题(5/27)单项选择题第5题用户程序发出磁盘I/O请求后,系统的正确处理流程是_______。

A.用户程序→系统调用处理程序→中断处理程序→设备驱动程序B.用户程序→系统调用处理程序→设备驱动程序→中断处理程序C.用户程序→设备驱动程序→系统调用处理程序→中断处理程序D.用户程序→设备驱动程序→中断处理程序→系统调用处理程序上一题下一题(6/27)单项选择题第6题操作系的I/O子系统通常由四个层次组成,每一层明确定义了与邻近层次的接口,其合理的层次组织排列顺序是_______。

[考研类试卷]计算机专业基础综合数据结构(排序)历年真题试卷汇编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名,并将他们从高分到低分输出。

考研计算机联考试题及答案

考研计算机联考试题及答案

考研计算机联考试题及答案考研计算机联考对于广大计算机专业研究生考生来说是非常重要的一门考试,是他们进入研究生阶段的必经之路。

在备考过程中,掌握联考试题及答案是至关重要的,下面将为大家介绍一些常见的考研计算机联考试题及答案,希望对大家备考有所帮助。

一、操作系统操作系统是计算机系统中的核心软件之一,掌握操作系统的理论与实践对于计算机专业研究生来说非常重要。

以下是一道常见的关于进程调度的试题:试题:请解释什么是进程调度,并简述常见的进程调度算法。

答案:进程调度是操作系统中的一个重要任务,它决定了多道程序系统中各个进程之间的执行顺序和时间分配。

常见的进程调度算法包括:1. 先来先服务调度算法(FCFS):按照进程到达的先后顺序进行调度,即先到先服务。

2. 短作业优先调度算法(SJF):按照进程的执行时间长度进行调度,执行时间短的进程先执行。

3. 时间片轮转调度算法(RR):将CPU的使用时间划分为一个个时间片,每个进程在一个时间片内执行,超过时间片的进程被放到队列的末尾等待执行。

二、数据库数据库是计算机专业研究生必修的一门课程,了解数据库的基本概念和操作是非常重要的。

以下是一道关于数据库查询语言的试题:试题:请列举并简述数据库查询语言中的聚合函数。

答案:数据库查询语言中的聚合函数用于对数据进行统计和计算,常见的聚合函数包括:1. COUNT:用于计算某一列的行数。

2. SUM:用于计算某一列的总和。

3. AVG:用于计算某一列的平均值。

4. MAX:用于找出某一列的最大值。

5. MIN:用于找出某一列的最小值。

三、计算机网络计算机网络是计算机专业研究生考试中的重要内容,掌握计算机网络的基本概念和常见协议对于备考非常有帮助。

以下是一道关于IP地址和子网掩码的试题:试题:请解释IP地址和子网掩码的作用,并简述它们之间的关系。

答案:IP地址是用于标识互联网上的每一台计算机的唯一地址,它由32位二进制数组成,分为4个8位的字段,每个字段用点分十进制表示。

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

清华大学97计算机专业考研试题
一、对于一个使用邻接表存储的带权有向图G ,试利用深度优先搜索放法,对该图中所有顶点进
行拓扑排序。

若邻接表的数据类型定义为Graph,则算法的首部为:
FUNCTION dfs-toposort(G:Graph):boolean;
若函数返回true,则表示拓扑成功,图中不存在环;若函数返false,则图中存在环,拓扑排序不成功。

在这个算法中嵌套用一个递归的深度优先搜索算法:
PROCEDURE dfs(G:Graph; V:vtxnum);
在遍历图的同时进行拓扑排序。

其中,vtxnum是顶点号
(1)给出该图的邻接表定义;(4分)
(2)定义在算法中使用的全局辅助数组;(4分)
(3)写出拓扑排序的算法。

(10分)
二、设有一头指针为L的带有表结点的非循环双向链表,其每个结点中除有pred(前驱指针),
data(数据)和next(后继指针)域外,还有一个访问频度域freq。

在链表被使用前,其值均初始化为零。

每当在链表中进行一次Locate(L,x)运算时,令元素值为x的结点中freq域的值增1,并使此链表中结点保持按访问频度非增(递减)的顺序排序,同时最近访问的结点排在频度相同的结点的最后,以便使频繁访问的结点总是靠近表头。

试编写符合上述要求的Locate(L,x)运算的算法,该运算为函数过程,返回找到结点的地址,类型为指针型。

(10分)
三、已知二叉树的链表存储结构定义如下:
TYPEbitreptR=^bitrenode;
bitrenode=RECORD
data:char;
lchild,rchild:butreptr
END;
编写一个递归算法,利用叶结点中空的右链指针域rchild,将所有叶结点自左至右链接成一个单链表,算法返回最左叶结点的地址(链头)。

(10分)
四、设目标为S=“abcaabbcaaabababaabca”,模是为P=“babab”,
(1)手工计算模式P的nextval数组的值;(5分)
(2)写出利用求得的 nextval数组,按KMP算法对目标S进行模式匹配的过程。

(5分)五、对于一个对称矩阵采用压缩存储,只存放它的上三角部分,并按列存放。

例如对于一个
n*n的对称矩阵A,
用一个一维数组B来存放它的上三角部分:
B=[A11,A12,A22,A13,A23,A33,A14。

,A1n,A2n。

,Ann]
同时有两个函数:MAX(i,j)和MIN(i,j),分别计算下标i和j中的大者与小者。

试利用它门给出求任意一个Aij在B中存放位置的公式。

(若式中没有MAX(i,j)和MIN(i,j)则不给分)。

(10分)
六、有一棵中序遍历二叉树,如下图(a)所示
(a)(b)(C)
(1)现要把一棵根指针为d的中序线索二叉树插在另一棵中序先索二叉树中,使d^成为的A^左孩子,原来A^的左孩子B^变成A^的右孩子C^的左孩子,如图(B)所示(树中的线索自行画出0。

试针对图中的实例写出实现插入的几条语句。

(2)现在想在插入后的中序线索二叉树中删去A^右孩子C^并用C^的左孩子填补原来的c ↑的位置,如图(c)所示。

试写出实现删除的几条语句。

( 15分)
七、设有一组数据black,blue,green,purple,red,white,yellow,它们的查找概率分别为
0.10,0.08,0.12,0.05,0.20,0.25,0.20. 试以它们的查找概率为权值,构造一棵次查找树,并计算其
查找成功的平均查找长度。

(12分)
八、设有11个长度(即包含记录个数)不同的归段,它们所包含的记录个数分别为
25,40,16,38,77,64,53,88,9,48,98.
试根据它们做4路平均归并,要求:
(1)指出总的归并趟数;(3分)
(2)构造最佳归并树;(8分)
(3)根据最佳归并树计算每一趟及总的读记录数。

(5分)。

相关文档
最新文档