复旦大学考研计算机961真题答案针对回忆版

合集下载

复旦大学计算机科学技术学院专业硕士复试上机考试题(2013-03-27)

复旦大学计算机科学技术学院专业硕士复试上机考试题(2013-03-27)

复旦大学计算机科学技术学院专业硕士复试上机考试题(2013-03-27)第一篇:复旦大学计算机科学技术学院专业硕士复试上机考试题(2013-03-27)复旦大学计算机科学技术学院专业硕士复试上机考试题(2013-03-27)建议时间:120分钟。

评分方法和注意事项:1.按考场老师指示的方法和要求提交源代码文件。

按题目编号命名和上传源代码文件problem1.cpp、problem2.cpp、problem3.cpp。

提交不必要的文件、建不必要的文件夹、不必要的压缩、不按要求命名文件,而导致评测程序找不到对应文件的,将得0分。

2.第一、二题我们拟只采用黑盒测试,因此:可以不书写注释;更不必美化程序。

3.第三题我们对未通过黑盒测试的程序,将检查其程序,因此推荐写解题思路、注释,保持良好的编程风格。

解题思路以注释的形式,放在源代码文件的开始,建议采用伪代码风格。

如果您不能完成全部代码,书写正确的解题思路可能得部分分数。

4.仔细阅读题目要求,一定要确保您的输入输出严格符合要求。

如输入输出格式不严格遵循题目的要求,会导致被判断为结果错误而不得分。

没有特别说明的,输入为标准输入(键盘),输出为标准输出(屏幕)。

5.提交的源代码必须保持无编译错误,提交有编译错误的程序该题直接得-10分。

6.除题目另有要求外,程序执行时间应在1秒之内,程序中的死循环恕不等待。

7.不要编写破坏性程序,否则产生的结果对您也是破坏性的,即取消评分资格。

Problem1: 字符串匹配对于主串M和模式串P,找到P在M中出现的所有子串的第一个字符在P中的位置。

P中第一个字符所在的位置为0。

首行的数字表示有多少组字符串。

[输入及示例] 2 ababababa ababa aaa aa [输出及示例] 0 2 4 0 1(相邻位置之间用一个空格隔开)Problem2:A Famous ICPC TeamMr.B, Mr.G, Mr.M and their coach Professor S are planning their way for the ACM-ICPC World Finals.Each of the four has a square-shaped suitcase with side length Ai(1<=i<=4)respectively.They want to pack their suitcases into a large square box.The heights of the large box as well as the four suitcases are exactly the same.So they only need to consider the large box’s side length.Of course, you sho uld write a program to output the minimum side length of the large box, so that the four suitcases can be put into the box without overlapping.[Input] There are N test cases.The first line is N.Each test case contains only one line containing 4 integers Ai(1<=i<=4, 1<=Ai<=1,000,000,000)indicating the side length of each suitcase.[Output]For each test case, display a single line containing the case number and the minimum side length of the large box required.[Sample Input] 2 2 2 2 2 2 2 2 1 [Output for Sample Input] Case 1: 4 Case 2: 4 [Explanation]For the first case, all suitcases have size 2x2.So they can perfectly be packed in a 4x4 large box without wasting any space.For the second case, three suitcases have size 2x2 and the last one is 1x1.No matter how you rotate or move the suitcases, the side length of the large box must be at least 4.Problem3:A Famous Grid Mr.B has recently discovered the grid named “spiral grid”.Construct the grid like the following figure.(The grid is actually infinite.The figure is only a small part of it.) Considering traveling in it, you are free to any cell containing a composite number or 1, but traveling to any cell containing a prime number is disallowed.You can travel up, down, left or right,but not diagonally.Write a program to find the length of the shortest path between pairs of nonprime numbers, or report it's impossible.[Input]There are N test cases.The first line is N.Each test case is described by a line of input containing two nonprime integer 1 <=x, y<=10,000.[Output]For each test case, display its case number followed by the length of the shortest path or “impossible”(without quotes)in one line.[Sample Input] 3 1 4 9 32 10 12[Output for Sample Input] Case 1: 1 Case 2: 7Case 3: impossible第二篇:北京大学硕士计算机上机题上机题(占总成绩的30%)1、编写一个C++程序,计算并输出两个同符号的整数m与n的整商(其中| m | ≤ 10,1000| n | ≤ 10)。

复旦大学软件工程(数据结构、软件工程)考研真题试题2020年(回忆版)

复旦大学软件工程(数据结构、软件工程)考研真题试题2020年(回忆版)

2020复旦大学软件工程考研961真题回忆版
一、数据结构(60分)
1.设计一个算法,统计二叉树中有一棵子树非空的节点个数并给出时间复杂度(15分)
2.列举二叉排序树中在最坏情况下增删改查时间复杂度仍为O(logn)的两种树,并分析(10分)
3.代码填空:Floyd、改良的插入排序(15分共五个空,每空三分)
4.设计一个算法,找一个数列中的前k大数,要求时间复杂度O(n),并给出时间复杂度的分析(20分)
二、软件工程(60分)
5.概念解释(30分,每题6分)
(1)CMMI连续式模型和阶段式模型的区别
(2)测试和调试的关系
(3)列举三种耦合
(4)开闭原则
(5)回归测试
6.画图(30分,每题15分)
(1)类图。

用类图把下面的类的关系表达出来。

计算机、台式机、笔记本电脑、鼠标、硬盘、显示器、有线鼠标、蓝牙鼠标、机械鼠标等等
(2)状态机图。

空调开启后进入系统自检,自检成功后进入模式选择,制冷,制热,吹风,三种模式自由切换;制冷时室温大于制冷温度则进入制冷,否则吹风;制热时室温小于制热温度则进入制热,否则吹风;制冷制热时系统可以进入温控模式,吹风时一直吹风。

三、深入理解计算机系统(30分)
7.RISC、CISC、RISC与Amdahl定律的关系(30分)。

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

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

文档来源为 :从网络收集整理 .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] 。

复旦计算机考研往年复试题

复旦计算机考研往年复试题

某年1.根据给出的文法写描述相应的语言,判断是否为二义S->aSbs|bSaS|ε;是二义,例:abab2.计算条件概率(全概率公式,做火车飞机轮船。

分别×××,迟到概率×××,已知迟到了,求坐火车来的概率)3.计算一定数量的指令通过给出的一条流水线的时间,计算吞吐量和最大吞吐量(已知流水线4ns一段,共5段,先16条指令通过,完毕后再26条通过)4.用差分法推导一个多项式的递归计算方法,说明这种算法的优点f(t)=(at^3+bt^2+ct+d) ti=i/n(i=1,2,3,....n)5.一个1024*16K的存储器,用DDR和EPROM两种芯片构成,前者占四分之三,两种芯片的大小各为128*8位,128*16位,计算两种芯片各要多少片,EPROM 的首地址是多少?6.考欧拉图给一张图,最少添几条线成为欧拉图。

有几种画法?(找奇数顶点)7.证明一个代数系统是群,判断正规子群G={(x,y)|x不为0, x,y都属于R},定义运算(x,y)●(z,w)=(xz,xw+y)证明[G;●]是群。

H={(1,y)|y属于R},是不是G的正规子群?8,9.软件测试有关的问题,软件结构设计的问题(选择)10.文件系统中冗余的概念和关系数据库中冗余的概念(具体是问:文件系统中不可消除的数据冗余;关系数据库中应该避免的数据冗余)11.分布式数据库中的三层透明性是什么(写出名词即可)12.两个NP语言L1,L2的并和差是否属于NP,证明或举反例~~是~~不是13.移动窗口协议端对端延迟1.25s,已知带宽*Mbps,每个帧的容量1KB,若要充分利用,应该为帧安排几位的序号字段?14.描述一个X86系统中的中断处理过程,主要是根据中断向量N和中断向量表来查中断处理子程序的入口USEINT.(写出过程,实模式or保护模式任选)1.G={(a,b)|a<>0} H={(1,x)} 在G中定义运算(x,y)*(w,z)=(xw,xz+y)求证H为G的正规子群2. 原理:一个32位浮点数分S, M, E三段,其值为(-1)^S * 1.M* 2^(E-128) ;问最大、小正负数分别是多少,且给出二进制表示。

计算机重点真题答案及解析

计算机重点真题答案及解析

计算机重点真题答案及解析近年来,计算机专业已成为一门越来越受欢迎的学科。

相应地,计算机考试的难度和重要性也日益增加,因此备考者更需要关注真题的解析和答案。

本文将为大家介绍一些计算机重点真题的解析和答案,帮助大家更好地备考。

1. 数据库设计数据库设计是计算机专业非常重要的一部分,也是很多考试中的必考内容。

一道常见的数据库设计题如下:问题:请根据以下需求设计一个简单的图书管理系统的数据库。

需求:- 记录图书的基本信息,包括书名、作者、出版社、价格等;- 记录借阅者的信息,包括姓名、性别、年龄、借阅书籍等;- 系统管理员能够添加、删除、修改图书信息;- 借阅者能够查询图书信息、借阅图书、还书等。

解析:根据以上需求,我们可以设计以下几个表:1) Book(图书表):- 书籍ID(Primary Key)- 书名- 作者- 出版社- 价格2) Borrower(借阅者表):- 借阅者ID(Primary Key)- 姓名- 性别- 年龄3) Borrowing(借阅记录表):- 借阅记录ID(Primary Key)- 图书ID(Foreign Key)- 借阅者ID(Foreign Key)- 借阅日期- 还书日期4) Administrator(管理员表):- 管理员ID(Primary Key)- 姓名- 职位通过以上表的设计,我们能够满足图书管理系统的各项需求。

2. 算法分析算法分析是计算机专业中的一项关键内容,往往与复杂度相关。

下面是一个与排序算法相关的问题:问题:请对以下排序算法进行复杂度分析:冒泡排序、插入排序和快速排序。

解析:先来看冒泡排序,冒泡排序通过反复交换相邻的两个元素,使得每一次遍历都能将最大或最小的元素冒泡到最后。

它的平均时间复杂度为O(n^2)。

接下来是插入排序,插入排序将数组划分为已排序和未排序两部分,每次将未排序的元素插入到已排序的合适位置。

它的平均时间复杂度也是O(n^2)。

复旦 961计算机考研三年真题

复旦 961计算机考研三年真题

这个961改革后只有3年,之前和计算机考一样,群里只有两年的,没有2017年的,因为那年就5个人考上,要不是有我同学在也回忆不出来,所以还是比较宝贵的,天行也花了很多时间。

2017年数据结构:向量相对于数组有什么优缺点?二叉树计算叶子节点算法,时间复杂度。

(可使用任一程序设计语言或伪代码,建议先用自然语言描述算法)。

几乎逆序的数组排序用什么排序算法?写出算法,时间复杂度。

二叉排序树的2种优化方法,并且介绍这两种方法是怎样优化二叉排序树的。

流水线是怎样提高性能的,会遇到什么问题,解决方法是什么。

软件优化至关重要,软件优化一般有哪些方法?高速缓存性能分析定律存储结构是怎样提高性能的,它和局部性的关系是什么。

虚拟内存的作用,通过什么方式提高虚拟内存的性能。

软件工程:瀑布过程的特点开闭原则敏捷宣言是什么一个场景(学生毕业申请系统),画出UML图、画出流程图0、画出流程图1 结合传感器说明简述软件测试的作用。

是不是用例越多越好?为什么说明原因。

白盒测试和黑盒测试在用例设计上的区别。

2018年加一个数据结构遗漏的:数据结构向量相对于数组的区别和有什么优缺点?栈的链表实现数组和链表性能比较希尔排序是否稳定?哈弗曼树遍历输出叶子节点编码和压缩效率csapp优化程序性能的方法局部性定义虚拟内存和memony cache比较流水线处理器amdlhal定律解释软工学生系统用例图数据流图图书馆管理系统类图软工工程选择依赖转制和接口隔离加一个数据结构遗漏的:向量相对于数组的区别和有什么优缺点?2019年一,数据结构1,为什么队列的单链表表示只能选择尾部插入头部插入,以及采用什么措施可以使得尾插入和头删除的时间复杂度达到o(n).15mark2,DIJKSTRA算法的单元点最短路径给出了一段完整的伪代码要你填满四个空缺的语句。

10mark3,构造堆的算法,分析时间复度分析。

15mark4设计一个算法得出二叉树的存在两颗非空子树的节点数量。

复旦大学计算机一级考试试题及答案

复旦大学计算机一级考试试题及答案

复旦大学计算机一级考试基础题试卷 A一、单项选择题1. 目前应用愈来愈广泛的优盘(U盘)存储属于________存储技术。

A. 刻录B. 移动C. 网络D. 直接连接答案: B2. 为了保证计算机通信质量,相关通信设备的比特差错率________。

A. 与数据传输质量无关B. 可为任意值C. 低于某个值即可D. 必须为0答案: C (差错率通信过程中发生错误的概率)3. 模拟信道带宽的基本单位是_______。

A. bpmB. bpsC. HzD. ppm 答案: C*模拟信号中带宽又称为频宽,以赫兹(Hz)为单位;数字信号中带宽是指单位时间内链路能够通过的数据量,单位为bps4. 十进制数153转换成二进制数是_______。

A. 10110110B. 10100001C. 10000110D. 10011001 答案:学会用计算器计算5. 计算机中能直接被CPU存取的信息是存放在_______ 中。

A. 软盘B. 硬盘C. 光盘D. 内存答案: D6. 属于有线传输媒体的是_______。

A. 双绞线B. 微波线路C. 卫星线路D. 红外传输答案:A (其他为无线传输媒体)7. 计算机系统识别出一个移动硬盘的过程属于操作系统基本功能中的________范畴。

A. 处理器管理B. 存储器管理C. 输入输出设备管理D. 信息管理答案: C(I/O)8. 一个数据通信的系统模型由数据源、数据通信网和__________三部分组成。

A. 发送设备B. 传输信道C. 接受设备D. 数据宿答案: D9. 在打印Word文档时,__________不能在“打印”对话框中设置。

A. 打印页范围B. 打印机选择C. 页码位置D. 打印份数答案: C10. Windows XP中的MediaPlayer媒体播放器不支持_________格式的多媒体文件。

A. MP3B. MOVC. AVID. MPEG 答案: B* MOV是QuickTime影片格式,由Apple公司开发的一种音频、视频文件格式11. 在Word编辑状态下,对段落的缩进方式、左右边界调整等操作,最直观、快速的方法是利用__________。

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

17 18年两年答案说一下:由于学校封题,所以只有回忆版,软工细节无法复现所以我们只能尽量写出更多东西2017年第一部分数据结构1.向量相对于数组有什么优缺点?优点:(1)可以动态增长长度(2)数组在内存中分配的连续空间,多次分配释放后会有内存碎片,而vectors 是动态增长的,不是连续的,所以不会出现内存碎片,还有vector的迭代器能防止出现类似数组愈界等等。

(3)数组不允许拷贝和赋值,即不能将数组的内容拷贝到其他数组作为其初始值,但是vector可以。

缺点:(1)在内部进行插入删除,效率较低。

(2)只能在末端进行pop和push。

(3) 当动态长度超过默认分配大小后,要整体重新分配、拷贝和施放。

2.二叉树计算叶子节点算法,时间复杂度。

(可使用任一程序设计语言或伪代码,建议先用自然语言描述算法)。

答:主要思想:采用递归算法,先序遍历二叉树的每个结点,如果结点没有左子树和右子树,则叶子结点个数加1。

代码:Int CountOfLeaf ( BiTree T) //求二叉树叶子结点个数{if(!T) return 0;if (T->lchild==NULL&&T->rchild==NULL)count++; //如果没有左右孩子,则为叶子结点CountOfLeaf ( T->lchild); //遍历左子树CountOfLeaf ( T->rchild);//遍历右子树return count;}int main( BiTree T)int count=0; //全局变量count表示叶子结点的个数CountOfLeaf (T);//求二叉树叶子结点个数return count;}时间复杂度为O(n)2.几乎逆序的数组排序用什么排序算法?写出算法,时间复杂度。

答:前提条件:假定数组原始几乎从大到小排列,要将数组从小到大进行排列主要思想:先将数组先原地倒置,然后再将数组进行冒泡排序。

代码:Void Reverse( int a[], n) //逆序函数,将数组中的元素原地倒置{for(i = 0; i < n/2 ;i++){Swap(a[i],a[n - i - 1]);}}void BubbleSort( int a[],int n) //冒泡排序{for(j=0;j<n-2;j++) //将j从0~n-2进行循环{int flag=false; //初始化标志位for(int i=n-1;i>j;i--){if(a[i]<a[i-1]) //如果后面的数小于前面的数,则交换,并修改标志位{swap(a[i],a[i-1]);flag=true;}}if(flag==false)return; //如果标志为false,则一次循环没有移动元素,得出最终数组}}}int sort(int a[],int n){Reverse( a, n); //先将原有数组进行原地逆序BubbleSort(a,n); //再用冒泡排序得出最终结果}时间复杂度:原地逆序的时间复杂度为O(n),冒泡排序在基本有序的情况下时间复杂度也为O(n),因此总的时间复杂度为O(n)。

4.二叉排序树的2种优化方法,并且介绍这两种方法是怎样优化二叉排序树的。

①红黑树本质上是一种二叉查找树,但它在二叉查找树的基础上额外添加了一个标记(颜色),同时具有一定的规则。

这些规则使红黑树保证了一种平衡,插入、删除、查找的最坏时间复杂度都为O(logn)。

②AVL是最先发明的自平衡二叉查找树算法。

在AVL中任何节点的两个子树的高度最大差别为1,所以查找、插入和删除在平均和最坏情况下都是O(log n)。

增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。

第二部分csapp1.Amdahl性能分析定律,硬件优化趋势a为并行计算部分所占比例n为并行处理结点个数S(N):程序在N个处理器(总核心数)相对在单个处理器(单核)中的速度提升比当1-a=0时,(即没有串行,只有并行)最大加速比s=n;当a=0时(即只有串行,没有并行),最小加速比s=1;当n→∞时,极限加速比s→ 1/(1-a),这也就是加速比的上限。

这个公式说明:1.增加处理器数、计算负载分布到更多处理器上,可以提高计算速度2.程序中可并行代码的比例决定你增加处理器(总核心数)所能带来的速度提升的上限2.流水线是怎样提高性能的,会遇到什么问题,解决方法是什么。

(1)指令执行基本分为取指,译码,执行,访存,写回,根据寄存器的特性可以不断的将一个时序过程分解成若干个子过程。

(2)多条指令重叠进行操作,,每个过程都能有效的与其他子进程同时进行。

这样可以提高处理器处理效率,争取在一个时钟周期中完成一条指令。

会遇到的问题:包括数据冒险和控制冒险。

处理数据冒险时:(1)使用暂停来避免冒险,也就是让指令停留在译码阶段,知道其源操作数的指令通过了写回阶段,具体做法是在执行阶段插入一个气泡。

(2)使用转发来避免数据冒险直接将结果值从流水线阶段传到更早点阶段(3)加载和使用数据冒险而处理控制冒险时,在执行阶段中,指令会改变条件码。

我们在下一个周期往译码和处理阶段中插入气泡,并同时取出跳转指令后面的指令,这样就能取消(有时也称为指令排除)那两条预存错误的指令。

3.软件优化至关重要,软件优化一般有哪些方法?1)高级设计。

选择适合的算法和数据结构。

2)基本编码原则。

避免限制优化的因素,这样编译器就能产生高效的代码。

●消除连续的函数调用。

在可能时,将计算移到循环外。

考虑有选择地妥协程序的模块性以获得更大的效率●消除不必要的内存引用。

引入临时变量来保存中间结果。

只有在最后的值计算出来时,才将结果存放到数组或全局变量中。

3)低级优化。

结构化代码以利用硬件功能。

●展开循环,降低开销,并且使进一步的优化成为可能。

●通过使用例如多个累积变量和重新结合等技术,找到方法提高指令级并行。

●用功能性的风格重写条件操作,使得编译采用条件数据传送。

4.什么是高速缓存,存储结构是怎样提高性能的,它和局部性的关系是什么。

什么是高速缓存Cache是一种小容量高速缓冲存储器,由快速的SRAM组成,直接制作在CPU芯片内,速度较快,几乎与CPU处于同一个量级。

存储结构是怎样提高性能的CPU和存储器的性能差距越来越大,存储器的传输速度很大程度限制了处理器的效率,从而引进高速缓存cache,CPU能直接从Cache中取得指令和数据,而不必访问慢速的主存。

它和局部性的关系是什么时间局部性:最近被访问的内容(指令或数据)很快还会被访问。

空间局部性:当前被访问的内容附近的内容很快会被访问。

在CPU和主存之间设置Cache,总是把主存中被频繁访问的活跃程序块和数据块复制到Cache中,良好的时间局部性和空间局部性能提高cache的命中率,减少CPU访存的时间,加快运行5.虚拟内存的作用,通过什么方式提高虚拟内存的性能。

①(作为缓存工具)使用DRAM当做部分的虚拟地址空间的缓存;②(作为内存管理工具)为每个进程提供了统一的线性地址空间③(作为内存保护工具)进程之间不会相互影响;用户程序不能访问内部信息和代码第三部分软件工程1.瀑布过程的特点①瀑布模型是一种文档驱动模型,模型简单;②每个阶段都要提交文档接受审查,有质量保证;③阶段之间有顺序性和依赖性;④推迟实现,先进行逻辑设计再进行物理设计;⑤对需求变更的响应比较困难2.开闭原则的概念一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。

3.敏捷宣言是什么个体和交互重于过程与工具可以工作的软件重于详尽的文档客户合作重于合同谈判响应变化重于遵循计划2.一个场景(学生毕业申请系统),画出数据流图顶层、0层、1层。

3.结合传感器说明简述软件测试的作用。

是不是用例越多越好?为什么?不是越多越好,因为虽然理想情况下,测试应对系统中所有可能的执行路径进行全面的检查。

然而,系统所有可能的执行路径的数目随系统复杂性的增加不断增长,甚至可能达到无止境的程度。

软件企业执行测试的资源与时间有限,因此实现一个复杂系统的百分之百的路径覆盖往往并不现实。

此时,应该根据具体情况采用不同级别的覆盖标准,来达到提高测试效率的目的。

4.白盒测试和黑盒测试在用例设计上的区别。

白盒测试:测试人员将测试对象当作透明的盒子,根据程序内部的逻辑结构及有关信息设计测试用例,检查所有逻辑是否按照预定的要求正确工作。

黑盒测试:测试人员将测试对象看作一个黑盒子,完全不考虑程序内部的逻辑结构和内部特性,只根据需求规格说明书,检查程序的功能是否符合它的功能要求。

2018年考题回忆版第一部分数据结构1.栈的链表实现代码,数组实现与链表性能比较#define MAXSIZE 100//栈的顺式储存类型typedef struct {Elemtype data[MAXSIZE];int top;}SeqStack,*PSeqStack;//栈的初始化PSeqStack initSeqStack(){PSeqStack stack;stack = (PSeqStack)malloc(sizeof(SeqStack));stack->top = -1;return stack;}//判断栈是否为空 1,空;0,非空int emptyStack(PSeqStack stack){if(stack->top == -1){return 1;}else{return 0;}}int pushStack(PSeqStack stack,Elemtype x){//入栈if(stack->top == MAXSIZE-1){return 0;}else{stack->top ++;stack->data[stack->top] = x;return 1;}}int popStack(PSeqStack stack,Elemtype &x){//出栈if(emptyStack(stack)){return 0;}else{x = stack->data[stack->top];stack->top --;return 1;}}struct LinkList{datatype data;struct LinkList *next;};struct stack{datatype data;struct stack *next;};typedef struct stack Stack;//创建栈Stack *s;//初始化栈void init(){s=NULL;}//判断栈是否为空int Empty(){if(s==NULL)return 1;elsereturn 0;}判断栈是否已满了void full(Stack *s){if(s->top==maxsize-1){maxsize++;s->data=(datatype *)malloc(s->data,maxsize);}}//入栈void Push(datatype element){Stack *p = (Stack *)malloc(sizeof(Stack));p->data=element;p->next=s;s=p;}//出栈void Pop(){if(!Empty(s))s=s->next;elseprintf("栈空\n");}用数组和链表实现栈,在出栈和进栈时时间复杂度都为o(1),性能几乎相同。

相关文档
最新文档